| apply plugin: 'maven' |
| apply plugin: 'signing' |
| |
| def isReleaseBuild() { |
| return version.contains("SNAPSHOT") == false |
| } |
| |
| def getMavenRepositoryUrl() { |
| return hasProperty('repositoryUrl') ? property('repositoryUrl') : "https://oss.sonatype.org/service/local/staging/deploy/maven2/" |
| } |
| |
| def getMavenRepositoryUsername() { |
| return hasProperty('sonatypeUsername') ? property('sonatypeUsername') : "" |
| } |
| |
| def getMavenRepositoryPassword() { |
| return hasProperty('sonatypePassword') ? property('sonatypePassword') : "" |
| } |
| |
| afterEvaluate { project -> |
| |
| signing { |
| required { isReleaseBuild() && gradle.taskGraph.hasTask("uploadArchives") } |
| sign configurations.archives |
| } |
| |
| uploadArchives { |
| configuration = configurations.archives |
| repositories.mavenDeployer { |
| beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) } |
| |
| repository(url: "https://oss.sonatype.org/service/local/staging/deploy/maven2/") { |
| authentication(userName: getMavenRepositoryUsername(), password: getMavenRepositoryPassword()) |
| } |
| |
| pom.project { |
| name 'SubsamplingScaleImageView' |
| packaging 'aar' |
| description 'Highly configurable, easily extendable deep zoom view for displaying huge images without loss of detail. Perfect for photo galleries, maps, building plans etc.' |
| url 'https://github.com/davemorrissey/subsampling-scale-image-view' |
| |
| scm { |
| url 'scm:[email protected]:davemorrissey/subsampling-scale-image-view.git' |
| connection 'scm:[email protected]:davemorrissey/subsampling-scale-image-view.git' |
| developerConnection 'scm:[email protected]:davemorrissey/subsampling-scale-image-view.git' |
| } |
| |
| licenses { |
| license { |
| name 'The Apache Software License, Version 2.0' |
| url 'http://www.apache.org/licenses/LICENSE-2.0.txt' |
| distribution 'repo' |
| } |
| } |
| |
| developers { |
| developer { |
| id 'davemorrissey' |
| name 'Dave Morrissey' |
| } |
| } |
| } |
| } |
| } |
| |
| task androidJavadocs(type: Javadoc) { |
| onlyIf { gradle.taskGraph.hasTask("uploadArchives") } |
| source = android.sourceSets.main.java.sourceFiles |
| destinationDir = rootProject.file("docs/javadoc") |
| classpath += project.files(android.getBootClasspath().join(File.pathSeparator)) |
| classpath += configurations.compile |
| classpath += configurations.javadocs |
| options.noTimestamp = true |
| options.links = ['https://developer.android.com/reference/'] |
| } |
| |
| 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 |
| } |
| |
| } |