ext.configurePublishing = { packageName, packageDesc, packageVersion -> tasks.register('sourcesJar', Jar) { it.dependsOn classes it.archiveClassifier.set('sources') it.from sourceSets.main.allSource } tasks.register('javadocJar', Jar) { it.dependsOn javadoc it.archiveClassifier.set('javadoc') it.from javadoc.destinationDir } publishing { repositories { maven { name = 'MavenCentral' def releasesRepoUrl = 'https://oss.sonatype.org/service/local/staging/deploy/maven2' def snapshotsRepoUrl = 'https://oss.sonatype.org/content/repositories/snapshots' url = version.endsWith('SNAPSHOT') ? snapshotsRepoUrl : releasesRepoUrl credentials { username = System.getenv('NEXUS_UPD_ID') password = System.getenv('NEXUS_UPD_PASS') } } } publications { imgui(MavenPublication) { groupId = 'io.github.spair' artifactId = packageName version = packageVersion from components.java artifact sourcesJar artifact javadocJar pom { name = packageName description = packageDesc url = 'https://github.com/SpaiR/imgui-java' licenses { license { name = 'The Apache License, Version 2.0' url = 'http://www.apache.org/licenses/LICENSE-2.0.txt' } } developers { developer { id = 'SpaiR' name = 'Ilya Prymshyts' email = 'klimbetoo@gmail.com' } } scm { connection = 'scm:git:https://github.com/SpaiR/imgui-java.git' developerConnection = 'scm:git:https://github.com/SpaiR/imgui-java.git' url = 'https://github.com/SpaiR/imgui-java.git' } } } } } if (System.getenv('SIGNING_KEY_ID') != null) { signing { def signingKeyId = System.getenv('SIGNING_KEY_ID') def signingKey = System.getenv('SIGNING_KEY') useInMemoryPgpKeys(signingKeyId, signingKey, '') sign publishing.publications.imgui } } }