xpipe/gradle/gradle_scripts/publish-base.gradle
2023-02-01 10:05:26 +00:00

46 lines
1.5 KiB
Groovy

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
}