| apply plugin: 'signing' |
| |
| version = VERSION_NAME |
| group = MAVEN_GROUP |
| |
| def isReleaseBuild() { |
| return !VERSION_NAME.contains('SNAPSHOT') |
| } |
| |
| def getReleaseRepositoryUrl() { |
| return hasProperty('RELEASE_REPOSITORY_URL') ? RELEASE_REPOSITORY_URL |
| : "https://oss.sonatype.org/service/local/staging/deploy/maven2/" |
| } |
| |
| def getSnapshotRepositoryUrl() { |
| return hasProperty('SNAPSHOT_REPOSITORY_URL') ? SNAPSHOT_REPOSITORY_URL |
| : "https://oss.sonatype.org/content/repositories/snapshots/" |
| } |
| |
| def getRepositoryUsername() { |
| return hasProperty('SONATYPE_NEXUS_USERNAME') ? SONATYPE_NEXUS_USERNAME : "" |
| } |
| |
| def getRepositoryPassword() { |
| return hasProperty('SONATYPE_NEXUS_PASSWORD') ? SONATYPE_NEXUS_PASSWORD : "" |
| } |
| |
| def getHttpProxyHost() { |
| return project.properties['systemProp.http.proxyHost'] |
| } |
| |
| def getHttpProxyPort() { |
| return project.properties['systemProp.http.proxyPort'] |
| } |
| |
| def needProxy() { |
| return (getHttpProxyHost() != null) && (getHttpProxyPort() != null) |
| } |
| |
| afterEvaluate { project -> |
| uploadArchives { |
| repositories { |
| mavenDeployer { |
| beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) } |
| |
| pom.groupId = MAVEN_GROUP |
| pom.artifactId = POM_ARTIFACT_ID |
| pom.version = VERSION_NAME |
| |
| repository(url: getReleaseRepositoryUrl()) { |
| authentication(userName: getRepositoryUsername(), password: getRepositoryPassword()) |
| if (needProxy()) { |
| proxy(host: getHttpProxyHost(), port: getHttpProxyPort() as Integer, type: 'http') |
| } |
| } |
| snapshotRepository(url: getSnapshotRepositoryUrl()) { |
| authentication(userName: getRepositoryUsername(), password: getRepositoryPassword()) |
| if (needProxy()) { |
| proxy(host: getHttpProxyHost(), port: getHttpProxyPort() as Integer, type: 'http') |
| } |
| } |
| |
| pom.project { |
| name POM_NAME |
| packaging POM_PACKAGING |
| description POM_DESCRIPTION |
| url POM_URL |
| |
| scm { |
| url POM_SCM_URL |
| connection POM_SCM_CONNECTION |
| developerConnection POM_SCM_DEV_CONNECTION |
| } |
| |
| licenses { |
| license { |
| name POM_LICENSE_NAME |
| url POM_LICENSE_URL |
| distribution POM_LICENSE_DIST |
| } |
| } |
| |
| developers { |
| developer { |
| id POM_DEVELOPER_ID |
| name POM_DEVELOPER_NAME |
| } |
| } |
| } |
| } |
| } |
| } |
| |
| signing { |
| required { isReleaseBuild() && gradle.taskGraph.hasTask('uploadArchives') } |
| sign configurations.archives |
| } |
| |
| } |