| /* | 
 |  * 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('SONATYPE_USERNAME') ? SONATYPE_USERNAME : "" | 
 | } | 
 |  | 
 | def getRepositoryPassword() { | 
 |     return hasProperty('SONATYPE_PASSWORD') ? SONATYPE_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 | 
 |     } | 
 | } |