// see: http://central.sonatype.org/pages/gradle.html apply plugin: "signing" def isReleaseBuild() { return !version.contains("-SNAPSHOT") } def getReleaseRepositoryUrl() { return hasProperty('MVN_RELEASE_REPO') ? MVN_RELEASE_REPO : "https://oss.sonatype.org/service/local/staging/deploy/maven2/" } def getSnapshotRepositoryUrl() { return hasProperty("MVN_SNAPSHOT_REPO") ? MVN_SNAPSHOT_REPO : "https://oss.sonatype.org/content/repositories/snapshots/" } def getRepositoryUsername() { return hasProperty('MVN_USERNAME') ? MVN_USERNAME : "" } def getRepositoryPassword() { return hasProperty('MVN_PASSWORD') ? MVN_PASSWORD : "" } def getProxyHost() { return hasProperty('MVN_PROXY_HOST') ? MVN_PROXY_HOST : null } def getProxyPort() { return hasProperty('MVN_PROXY_PORT') ? MVN_PROXY_PORT.toInteger() : 0 } afterEvaluate { project -> uploadArchives { repositories { mavenDeployer { def proxyHost = getProxyHost() def proxyPort = getProxyPort() beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) } repository(url: getReleaseRepositoryUrl()) { authentication(userName: getRepositoryUsername(), password: getRepositoryPassword()) if (proxyHost != null) { proxy(host: proxyHost, port: proxyPort, type: "http") } } snapshotRepository(url: getSnapshotRepositoryUrl()) { authentication(userName: getRepositoryUsername(), password: getRepositoryPassword()) if (proxyHost != null) { proxy(host: proxyHost, port: proxyPort, type: "http") } } } } } [install.repositories.mavenInstaller, uploadArchives.repositories.mavenDeployer]*.pom*.whenConfigured { pom -> pom.project { name "${ext.name}" description "NEC Mobile Backend Platform Java/Android SDK" url "https://github.com/nec-baas/baas-client-android" scm { url "https://github.com/nec-baas/baas-client-android" connection "scm:git:https://github.com/nec-baas/baas-client-android.git" developerConnection "scm:git:https://github.com/nec-baas/baas-client-android.git" } licenses { license { name "Apache License, Version 2.0" url "https://opensource.org/licenses/Apache-2.0" distribution "repo" comments "Copyright (c) 2013-2018, NEC Corporation." } } developers { developer { id "nec" organization = "NEC Corporation" organizationUrl "http://jpn.nec.com" } } } } signing { required { isReleaseBuild() && gradle.taskGraph.hasTask(":core:uploadArchives") } sign configurations.archives } }