Move release signing code to release.gradle
diff --git a/library/build.gradle b/library/build.gradle
index 91f0a31..effe7c8 100644
--- a/library/build.gradle
+++ b/library/build.gradle
@@ -1,55 +1,9 @@
apply plugin: 'android-library'
-apply plugin: 'maven'
-apply plugin: 'signing'
group = 'com.davemorrissey.labs'
archivesBaseName = 'subsampling-scale-image-view'
version = '3.6.0'
-signing {
- required { has("release") && 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: sonatypeUsername, password: sonatypePassword)
- }
-
- pom.project {
- name 'SubsamplingScaleImageView'
- packaging 'aar'
- description 'Custom image views for Android with pinch to zoom, panning, rotation and animation support, with easy extension so you can add your own overlays and touch event detection.'
- url 'https://github.com/davemorrissey/subsampling-scale-image-view'
-
- scm {
- url 'scm:git@github.com:davemorrissey/subsampling-scale-image-view.git'
- connection 'scm:git@github.com:davemorrissey/subsampling-scale-image-view.git'
- developerConnection 'scm:git@github.com: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'
- }
- }
- }
- }
-}
-
dependencies {
compile fileTree(dir: 'libs', include: '*.jar')
compile 'com.android.support:support-annotations:25.0.0'
@@ -82,4 +36,6 @@
debug.setRoot('build-types/debug')
release.setRoot('build-types/release')
}
-}
\ No newline at end of file
+}
+
+apply from: rootProject.file('release.gradle')
diff --git a/release.gradle b/release.gradle
new file mode 100644
index 0000000..068e2d9
--- /dev/null
+++ b/release.gradle
@@ -0,0 +1,105 @@
+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 ->
+ task androidJavadoc(type: Javadoc) {
+ source = android.sourceSets.main.java.srcDirs
+ classpath += files(android.bootClasspath)
+ }
+
+ task androidJavadocJar(type: Jar) {
+ classifier = 'javadoc'
+ from androidJavadoc.destinationDir
+ }
+
+ task androidSourcesJar(type: Jar) {
+ classifier = 'sources'
+ from android.sourceSets.main.java.srcDirs
+ }
+
+ android.libraryVariants.all { variant ->
+ def name = variant.name.capitalize()
+ task "jar${name}"(type: Jar, dependsOn: variant.javaCompile) {
+ from variant.javaCompile.destinationDir
+ }
+ }
+
+ artifacts {
+ archives androidJavadocJar
+ archives androidSourcesJar
+ archives jarRelease
+ }
+
+ signing {
+ required { isReleaseBuild() && gradle.taskGraph.hasTask("uploadArchives") }
+ sign configurations.archives
+ }
+
+ uploadArchives {
+ configuration = configurations.archives
+ repositories.mavenDeployer {
+ beforeDeployment {
+ MavenDeployment deployment -> signing.signPom(deployment)
+ }
+
+ repository(url: getMavenRepositoryUrl()) {
+ authentication(
+ userName: getMavenRepositoryUsername(),
+ password: getMavenRepositoryPassword())
+ }
+
+ pom.project {
+ name 'SubsamplingScaleImageView'
+ packaging 'aar'
+ description 'Custom image views for Android with pinch to zoom, panning, rotation and animation support, with easy extension so you can add your own overlays and touch event detection.'
+ url 'https://github.com/davemorrissey/subsampling-scale-image-view'
+
+ scm {
+ url 'scm:git@github.com:davemorrissey/subsampling-scale-image-view.git'
+ connection 'scm:git@github.com:davemorrissey/subsampling-scale-image-view.git'
+ developerConnection 'scm:git@github.com: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 installArchives(type: Upload) {
+ configuration = configurations.archives
+ repositories {
+ mavenDeployer {
+ repository url: "file://${System.properties['user.home']}/.m2/repository"
+ }
+ }
+ }
+}