apply plugin: 'maven-publish' apply plugin: 'signing' task androidSourcesJar(type: Jar) { archiveClassifier.set('sources') if (project.plugins.findPlugin("com.android.library")) { // For Android libraries from android.sourceSets.main.java.srcDirs from android.sourceSets.main.kotlin.srcDirs } else { // For pure Kotlin libraries, in case you have them from sourceSets.main.java.srcDirs from sourceSets.main.kotlin.srcDirs } } artifacts { archives androidSourcesJar } group = PUBLISH_GROUP_ID version = PUBLISH_VERSION afterEvaluate { publishing { publications { release(MavenPublication) { // The coordinates of the library, being set from variables that // we'll set up later groupId PUBLISH_GROUP_ID artifactId PUBLISH_ARTIFACT_ID version PUBLISH_VERSION // Two artifacts, the `aar` (or `jar`) and the sources if (project.plugins.findPlugin("com.android.library")) { from components.release } else { from components.java } artifact androidSourcesJar //artifact javadocJar // Mostly self-explanatory metadata pom { name = PUBLISH_ARTIFACT_ID description = 'Jetpack Compose Barcode Generation' url = 'https://github.com/simonsickle/ComposedBarcodes' licenses { license { name = 'Apache 2.0 License' url = 'https://www.apache.org/licenses/LICENSE-2.0' } } developers { developer { id = 'simonsickle' name = 'Simon Sickle' email = 'sickle@hey.com' } } // Version control info - if you're using GitHub, follow the // format as seen here scm { connection = 'scm:git:github.com/simonsickle/ComposedBarcodes.git' developerConnection = 'scm:git:ssh://github.com/simonsickle/ComposedBarcodes.git' url = 'https://github.com/simonsickle/ComposedBarcodes/tree/main' } } } } } } signing { def signingKey = rootProject.ext["signing.key"] def signingPassword = rootProject.ext["signing.password"] useGpgCmd() useInMemoryPgpKeys(signingKey, signingPassword) sign publishing.publications }