| /* |
| * 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.withXml { |
| asNode().dependencies.dependency.findAll { |
| it.artifactId.text() == 'okhttp' || it.artifactId.text() == 'jackson-databind' |
| }.each { |
| if (it.optional) |
| it.optional.value = 'true' |
| else |
| it.appendNode('optional', 'true') |
| } |
| } |
| |
| 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_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 |
| } |
| |
| task androidJavadocs(type: Javadoc) { |
| failOnError false |
| source = android.sourceSets.main.java.srcDirs |
| classpath += project.files(android.getBootClasspath().join(File.pathSeparator)) |
| } |
| |
| task androidJavadocsJar(type: Jar, dependsOn: androidJavadocs) { |
| classifier = 'javadoc' |
| from androidJavadocs.destinationDir |
| } |
| |
| task androidSourcesJar(type: Jar) { |
| classifier = 'sources' |
| from android.sourceSets.main.java.sourceFiles |
| } |
| |
| artifacts { |
| archives androidSourcesJar |
| archives androidJavadocsJar |
| } |
| } |