|
/* |
|
* Copyright 2013 Chris Banes |
|
* |
|
* Licensed under the Apache License, Version 2.0 (the "License"); |
|
* you may not use this file except in compliance with the License. |
|
* You may obtain a copy of the License at |
|
* |
|
* http://www.apache.org/licenses/LICENSE-2.0 |
|
* |
|
* Unless required by applicable law or agreed to in writing, software |
|
* distributed under the License is distributed on an "AS IS" BASIS, |
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
* See the License for the specific language governing permissions and |
|
* limitations under the License. |
|
*/ |
|
|
|
apply plugin: 'maven' |
|
apply plugin: 'signing' |
|
|
|
def isReleaseBuild() { |
|
return VERSION_NAME.contains("SNAPSHOT") == false |
|
} |
|
|
|
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('NEXUS_USERNAME') ? NEXUS_USERNAME : "" |
|
} |
|
|
|
def getRepositoryPassword() { |
|
return hasProperty('NEXUS_PASSWORD') ? NEXUS_PASSWORD : "" |
|
} |
|
|
|
afterEvaluate { project -> |
|
uploadArchives { |
|
repositories { |
|
mavenDeployer { |
|
beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) } |
|
|
|
pom.groupId = GROUP |
|
pom.artifactId = POM_ARTIFACT_ID |
|
pom.version = VERSION_NAME |
|
|
|
repository(url: getReleaseRepositoryUrl()) { |
|
authentication(userName: getRepositoryUsername(), password: getRepositoryPassword()) |
|
} |
|
snapshotRepository(url: getSnapshotRepositoryUrl()) { |
|
authentication(userName: getRepositoryUsername(), password: getRepositoryPassword()) |
|
} |
|
|
|
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_LICENCE_NAME |
|
url POM_LICENCE_URL |
|
distribution POM_LICENCE_DIST |
|
} |
|
} |
|
|
|
developers { |
|
developer { |
|
id POM_DEVELOPER_ID |
|
name POM_DEVELOPER_NAME |
|
} |
|
} |
|
} |
|
} |
|
} |
|
} |
|
|
|
signing { |
|
required { isReleaseBuild() && gradle.taskGraph.hasTask("uploadArchives") } |
|
sign configurations.archives |
|
} |
|
|
|
task javadocsJar(type: Jar, dependsOn: javadoc) { |
|
classifier = 'javadoc' |
|
from javadoc.destinationDir |
|
} |
|
|
|
task sourcesJar(type: Jar) { |
|
classifier = 'sources' |
|
from sourceSets.main.allSource |
|
} |
|
|
|
artifacts { |
|
archives sourcesJar |
|
archives javadocsJar |
|
} |
|
} |