Prepare to upload the gradle plugin to maven.
Xavier Ducrohet [Thu, 27 Sep 2012 01:28:21 +0000 (18:28 -0700)]
Change the groupId to com.android.tools.build
Create javadoc and source artifacts.

Move all samples to using the local maven repo,
so that the uploadArchives task can target the
real Maven repo once we're ready to upload there.

Create a release.gradle init script that will
not use the -SNAPSHOT qualifier when building the
artifacts.

Change-Id: Ie17e6299ae5335535c440ab99695e6e408c1f352

18 files changed:
build.gradle
builder/build.gradle
gradle/build.gradle
release.gradle [new file with mode: 0644]
release.md [new file with mode: 0644]
testapps/aidl/build.gradle
testapps/applibtest/build.gradle
testapps/basic/build.gradle
testapps/customized/build.gradle
testapps/dependencies/build.gradle
testapps/flavored/build.gradle
testapps/flavors/build.gradle
testapps/libsTest/build.gradle
testapps/multiproject/build.gradle
testapps/repo/app/build.gradle
testapps/repo/baseLibrary/build.gradle
testapps/repo/library/build.gradle
testapps/tictactoe/build.gradle

index 5851637..00daca7 100644 (file)
@@ -5,5 +5,9 @@ allprojects {
         mavenCentral()
     }
 
-    version = '0.1-SNAPSHOT'
+    project.ext {
+        baseVersion = '0.1'
+    }
+
+    group = 'com.android.tools.build'
 }
index db5fa21..be920ff 100644 (file)
@@ -12,19 +12,67 @@ dependencies {
     testCompile 'junit:junit:3.8.1'
 }
 
-group = 'com.android.build'
+def getVersion() {
+    if (project.has("release")) {
+        return project.ext.baseVersion
+    }
+
+    return project.ext.baseVersion + '-SNAPSHOT'
+}
+
+version = getVersion()
 archivesBaseName = 'android-builder'
 
 jar {
     from { configurations.runtime.collect { it.directory ? it : zipTree(it) } }
 }
 
+configure(install.repositories.mavenInstaller) {
+    // Discard all the dependencies from the POM, as they are packaged in the JAR.
+    pom.scopeMappings.mappings.clear()
+
+    pom.project {
+        name 'Android Builder library'
+        description 'library to build Android applications.'
+        url 'http://tools.android.com'
+        inceptionYear '2007'
+
+        licenses {
+            license {
+                name 'The Apache Software License, Version 2.0'
+                url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
+                distribution 'repo'
+            }
+        }
+
+        scm {
+            url "https://android.googlesource.com/platform/tools/build"
+            connection "git://android.googlesource.com/platform/tools/build.git"
+        }
+    }
+}
+
 uploadArchives {
     repositories {
         mavenDeployer {
             repository(url: uri("$rootDir/repo"))
-            // Discard all the dependencies from the POM, as they are packaged in the JAR.
-            pom.scopeMappings.mappings.clear()
         }
     }
 }
+
+// custom tasks for creating source/javadoc jars
+task sourcesJar(type: Jar, dependsOn:classes) {
+     classifier = 'sources'
+     from sourceSets.main.allSource
+}
+task javadocJar(type: Jar, dependsOn:javadoc) {
+     classifier = 'javadoc'
+     from javadoc.destinationDir
+}
+// add javadoc/source jar tasks as artifacts
+artifacts {
+     archives sourcesJar
+     archives javadocJar
+}
index 974fbef..74511a2 100644 (file)
@@ -14,7 +14,15 @@ dependencies {
     compile project(':builder')
 }
 
-group = 'com.android.build'
+def getVersion() {
+    if (project.has("release")) {
+        return project.ext.baseVersion
+    }
+
+    return project.ext.baseVersion + '-SNAPSHOT'
+}
+
+version = getVersion()
 archivesBaseName = 'gradle-android'
 
 
@@ -22,6 +30,43 @@ uploadArchives {
     repositories {
         mavenDeployer {
             repository(url: uri("$rootDir/repo"))
+
+            pom.project {
+                name 'Gradle Plug-in for Android'
+                description 'Gradle plug-in to build Android applications.'
+                url 'http://tools.android.com'
+                inceptionYear '2007'
+
+                licenses {
+                    license {
+                        name 'The Apache Software License, Version 2.0'
+                        url 'http://www.apache.org/licenses/LICENSE-2.0.txt'
+                        distribution 'repo'
+                    }
+                }
+
+                scm {
+                    url "https://android.googlesource.com/platform/tools/build"
+                    connection "git://android.googlesource.com/platform/tools/build.git"
+                }
+            }
         }
     }
 }
+
+// custom tasks for creating source/javadoc jars
+task sourcesJar(type: Jar, dependsOn:classes) {
+     classifier = 'sources'
+     from sourceSets.main.allSource
+}
+task javadocJar(type: Jar, dependsOn:groovydoc) {
+     classifier = 'javadoc'
+     from groovydoc.destinationDir
+}
+// add javadoc/source jar tasks as artifacts
+artifacts {
+     archives sourcesJar
+     archives javadocJar
+}
diff --git a/release.gradle b/release.gradle
new file mode 100644 (file)
index 0000000..97da7d6
--- /dev/null
@@ -0,0 +1,5 @@
+allprojects {
+    project.ext {
+        release = "true"
+    }
+}
\ No newline at end of file
diff --git a/release.md b/release.md
new file mode 100644 (file)
index 0000000..8752d27
--- /dev/null
@@ -0,0 +1,6 @@
+## Building a release version
+
+By default builds use the -SNAPSHOT version.
+To run a release build that remove the SNAPSHOT qualifier, run:
+
+gradle --init-script release.gradle <tasks>
\ No newline at end of file
index be4c4d9..d5d4b91 100644 (file)
@@ -3,10 +3,10 @@
 //
 buildscript {
     repositories {
-        maven { url '../../repo' }
+        mavenLocal()
     }
     dependencies {
-        classpath 'com.android.build:gradle-android:0.1-SNAPSHOT'
+        classpath 'com.android.tools.build:gradle-android:0.1-SNAPSHOT'
     }
 }
 apply plugin: 'android'
index 0c73a9f..ab52e11 100644 (file)
@@ -1,8 +1,8 @@
 buildscript {
     repositories {
-        maven { url '../../repo' }
+        mavenLocal()
     }
     dependencies {
-        classpath 'com.android.build:gradle-android:0.1-SNAPSHOT'
+        classpath 'com.android.tools.build:gradle-android:0.1-SNAPSHOT'
     }
 }
index f971118..94a7e1d 100644 (file)
@@ -3,10 +3,10 @@
 //
 buildscript {
     repositories {
-        maven { url '../../repo' }
+        mavenLocal()
     }
     dependencies {
-        classpath 'com.android.build:gradle-android:0.1-SNAPSHOT'
+        classpath 'com.android.tools.build:gradle-android:0.1-SNAPSHOT'
     }
 }
 apply plugin: 'android'
index 3399032..b895dbe 100644 (file)
@@ -1,9 +1,9 @@
 buildscript {
     repositories {
-        maven { url '../../repo' }
+        mavenLocal()
     }
     dependencies {
-        classpath 'com.android.build:gradle-android:0.1-SNAPSHOT'
+        classpath 'com.android.tools.build:gradle-android:0.1-SNAPSHOT'
     }
 }
 apply plugin: 'android'
index 7a56c1b..0157486 100644 (file)
@@ -3,10 +3,10 @@
 //
 buildscript {
     repositories {
-        maven { url '../../repo' }
+        mavenLocal()
     }
     dependencies {
-        classpath 'com.android.build:gradle-android:0.1-SNAPSHOT'
+        classpath 'com.android.tools.build:gradle-android:0.1-SNAPSHOT'
     }
 }
 apply plugin: 'android'
index 36785c6..4d97a06 100644 (file)
@@ -3,10 +3,10 @@
 //
 buildscript {
     repositories {
-        maven { url '../../repo' }
+        mavenLocal()
     }
     dependencies {
-        classpath 'com.android.build:gradle-android:0.1-SNAPSHOT'
+        classpath 'com.android.tools.build:gradle-android:0.1-SNAPSHOT'
     }
 }
 apply plugin: 'android'
index b2f204c..3da42af 100644 (file)
@@ -1,9 +1,9 @@
 buildscript {
     repositories {
-        maven { url '../../repo' }
+        mavenLocal()
     }
     dependencies {
-        classpath 'com.android.build:gradle-android:0.1-SNAPSHOT'
+        classpath 'com.android.tools.build:gradle-android:0.1-SNAPSHOT'
     }
 }
 apply plugin: 'android'
index 0c73a9f..ab52e11 100644 (file)
@@ -1,8 +1,8 @@
 buildscript {
     repositories {
-        maven { url '../../repo' }
+        mavenLocal()
     }
     dependencies {
-        classpath 'com.android.build:gradle-android:0.1-SNAPSHOT'
+        classpath 'com.android.tools.build:gradle-android:0.1-SNAPSHOT'
     }
 }
index c0bebba..1e0cbd6 100644 (file)
@@ -1,9 +1,9 @@
 buildscript {
     repositories {
-        maven { url '../../repo' }
+        mavenLocal()
     }
     dependencies {
-        classpath 'com.android.build:gradle-android:0.1-SNAPSHOT'
+        classpath 'com.android.tools.build:gradle-android:0.1-SNAPSHOT'
     }
 }
 
index 92c18bc..48914c6 100644 (file)
@@ -3,7 +3,7 @@ buildscript {
         maven { url '../../../repo' }
     }
     dependencies {
-        classpath 'com.android.build:gradle-android:0.1-SNAPSHOT'
+        classpath 'com.android.tools.build:gradle-android:0.1'
     }
 }
 apply plugin: 'android'
index 6c38546..0ac4870 100644 (file)
@@ -3,7 +3,7 @@ buildscript {
         maven { url '../../../repo' }
     }
     dependencies {
-        classpath 'com.android.build:gradle-android:0.1-SNAPSHOT'
+        classpath 'com.android.tools.build:gradle-android:0.1'
     }
 }
 apply plugin: 'android-library'
index 28cb13f..ce26e7c 100644 (file)
@@ -3,7 +3,7 @@ buildscript {
         maven { url '../../../repo' }
     }
     dependencies {
-        classpath 'com.android.build:gradle-android:0.1-SNAPSHOT'
+        classpath 'com.android.tools.build:gradle-android:0.1'
     }
 }
 apply plugin: 'android-library'
index 0c73a9f..ab52e11 100644 (file)
@@ -1,8 +1,8 @@
 buildscript {
     repositories {
-        maven { url '../../repo' }
+        mavenLocal()
     }
     dependencies {
-        classpath 'com.android.build:gradle-android:0.1-SNAPSHOT'
+        classpath 'com.android.tools.build:gradle-android:0.1-SNAPSHOT'
     }
 }