|
|
@@ -0,0 +1,99 @@
|
|
|
+apply plugin: 'maven'
|
|
|
+apply plugin: 'signing'
|
|
|
+
|
|
|
+def sonatypeRepositoryUrl
|
|
|
+
|
|
|
+def isReleaseBuild() {
|
|
|
+ return VERSION_NAME.contains("SNAPSHOT") == false
|
|
|
+}
|
|
|
+if (isReleaseBuild()) {
|
|
|
+ println 'RELEASE BUILD'
|
|
|
+ sonatypeRepositoryUrl = "https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/"
|
|
|
+} else {
|
|
|
+ println 'DEBUG BUILD'
|
|
|
+ sonatypeRepositoryUrl = "https://s01.oss.sonatype.org/content/repositories/snapshots/"
|
|
|
+}
|
|
|
+
|
|
|
+def getRepositoryUsername() {
|
|
|
+ return hasProperty('nexusUsername') ? nexusUsername : ""
|
|
|
+}
|
|
|
+
|
|
|
+def getRepositoryPassword() {
|
|
|
+ return hasProperty('nexusPassword') ? nexusPassword : ""
|
|
|
+}
|
|
|
+
|
|
|
+afterEvaluate { project ->
|
|
|
+ uploadArchives {
|
|
|
+ repositories {
|
|
|
+ mavenDeployer {
|
|
|
+ beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) }
|
|
|
+ pom.groupId = GROUP_ID
|
|
|
+ pom.artifactId = POM_ARTIFACT_ID
|
|
|
+ pom.version = VERSION_NAME
|
|
|
+
|
|
|
+ repository(url: sonatypeRepositoryUrl) {
|
|
|
+ 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") }
|
|
|
+ println 'Signing archives...'
|
|
|
+ sign configurations.archives
|
|
|
+ }
|
|
|
+
|
|
|
+ task androidJavadocs(type: Javadoc) {
|
|
|
+ source = android.sourceSets.main.java.sourceFiles
|
|
|
+ options {
|
|
|
+ links "http://docs.oracle.com/javase/7/docs/api/"
|
|
|
+ linksOffline "http://d.android.com/reference", "${android.sdkDirectory}/docs/reference"
|
|
|
+ }
|
|
|
+ classpath += project.android.libraryVariants.toList().first().javaCompile.classpath
|
|
|
+ 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
|
|
|
+ }
|
|
|
+}
|