java { withJavadocJar() withSourcesJar() } def repoUrl = !rootProject.isFullRelease ? 'https://s01.oss.sonatype.org/content/repositories/snapshots/' : 'https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/' def user = project.hasProperty('sonatypeUsername') ? project.property('sonatypeUsername') : System.getenv('SONATYPE_USERNAME') def pass = project.hasProperty('sonatypePassword') ? project.property('sonatypePassword') : System.getenv('SONATYPE_PASSWORD') if (rootProject.isFullRelease) { publish.finalizedBy(rootProject.getTasks().getByName('closeAndReleaseRepository')) } tasks.withType(GenerateModuleMetadata) { enabled = false } publishing { repositories { maven { setUrl repoUrl credentials { setUsername user setPassword pass } } } } def signingKeyId = project.hasProperty('signingKeyId') ? project.property("signingKeyId") : System.getenv('GPG_KEY_ID') def signingKey = project.hasProperty('signingKeyFile') ? file(project.property("signingKeyFile")).text : System.getenv('GPG_KEY') def signingPassword = project.hasProperty('signingPassword') ? project.property("signingPassword") : System.getenv('GPG_KEY_PASSWORD') signing { useInMemoryPgpKeys(signingKeyId, signingKey, signingPassword != null ? signingPassword : '') sign publishing.publications.mavenJava } nexusStaging { serverUrl = "https://s01.oss.sonatype.org/service/local/" packageGroup = "io.xpipe" username = user password = pass }