Bug 1104855 - Don't rebuild the omnijar on every Gradle build. rs=margaret
authorNick Alexander <nalexander@mozilla.com>
Tue, 25 Nov 2014 09:54:31 -0800
changeset 217666 a26cfc08f359c0417602eb6a207e1f9d80e6688e
parent 217665 ffb71ee18b1f28d3a6f1b54ff735732c266f7aab
child 217667 705b1be87804d5e3427eb433f6445ef055857a89
push id27887
push userryanvm@gmail.com
push dateThu, 27 Nov 2014 02:08:38 +0000
treeherdermozilla-central@c63e741bca2e [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmargaret
bugs1104855
milestone36.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1104855 - Don't rebuild the omnijar on every Gradle build. rs=margaret This ticket splits a new omnijar project off of base. The new project's omnijar task knows the inputs (well, those under mobile/android) and the omni.ja output and only re-packages the omnijar when the task's output is out of date. With this modification, local building and most importantly the Android JUnit test cycle is much improved, because the APK is not re-deployed when only test code is modified. In addition, the new project lists the omnijar inputs as "Java" source directories. Previously, they were listed as "Java resource" source directories, which meant that the omnijar inputs were packaged into the final APK. This wasted time and space.
mobile/android/base/Makefile.in
mobile/android/base/build.gradle
mobile/android/gradle/gradle/wrapper/gradle-wrapper.jar
mobile/android/gradle/gradle/wrapper/gradle-wrapper.properties
mobile/android/gradle/omnijar/build.gradle
mobile/android/gradle/omnijar/gradle_AndroidManifest.xml
mobile/android/gradle/settings.gradle
--- a/mobile/android/base/Makefile.in
+++ b/mobile/android/base/Makefile.in
@@ -417,20 +417,21 @@ update-generated-wrappers:
 	$(MAKE) -C ../modules
 	$(MAKE) -C ../app
 	$(MAKE) -C ../themes/core
 	$(MAKE) -C ../installer stage-package
 	rsync --update $(DIST)/fennec/$(notdir $(OMNIJAR_NAME)) $@
 	$(RM) $(DIST)/fennec/$(notdir $(OMNIJAR_NAME))
 
 # Targets built very early during a Gradle build.
-gradle-targets: $(abspath $(DIST)/fennec/$(OMNIJAR_NAME))
 gradle-targets: .aapt.deps
 
-.PHONY: gradle-targets
+gradle-omnijar: $(abspath $(DIST)/fennec/$(OMNIJAR_NAME))
+
+.PHONY: gradle-targets gradle-omnijar
 
 libs:: geckoview_resources.zip classes.dex jni-stubs.inc GeneratedJNIWrappers.cpp fennec_ids.txt
 	$(INSTALL) geckoview_resources.zip $(FINAL_TARGET)
 	$(INSTALL) classes.dex $(FINAL_TARGET)
 	@(diff jni-stubs.inc $(topsrcdir)/mozglue/android/jni-stubs.inc >/dev/null && diff GeneratedJNIWrappers.cpp $(topsrcdir)/widget/android/GeneratedJNIWrappers.cpp >/dev/null) || \
 	 (echo '*****************************************************' && \
 	  echo '***   Error: The generated JNI code has changed   ***' && \
 	  echo '* To update generated code in the tree, please run  *' && \
--- a/mobile/android/base/build.gradle
+++ b/mobile/android/base/build.gradle
@@ -56,43 +56,36 @@ android {
                 srcDir "../branding/unofficial/res"
                 srcDir "${topobjdir}/mobile/android/base/res"
                 // The main resources are symlinked in here.
                 srcDir "${topobjdir}/mobile/android/gradle/base/src/main/res"
                 if (MOZ_CRASHREPORTER) {
                     srcDir "crashreporter/res"
                 }
             }
-
-            resources {
-                srcDir '../locales'
-                srcDir '../chrome'
-                srcDir '../components'
-                srcDir '../modules'
-                srcDir '../app'
-                srcDir '../themes/core'
-            }
         }
     }
 }
 
 dependencies {
     compile fileTree(dir: 'libs', include: ['*.jar'])
-    compile project(':thirdparty')
     compile 'com.android.support:support-v4:19.1.+'
     compile 'com.android.support:appcompat-v7:19.1.+'
     compile 'com.android.support:mediarouter-v7:19.1.+'
     compile 'com.google.android.gms:play-services:5.+'
+
+    compile project(':thirdparty')
+    compile project(':omnijar')
 }
 
-task prepareObjDir(type:Exec) {
+task generateCodeAndResources(type:Exec) {
   workingDir "${topobjdir}"
 
   commandLine "${topsrcdir}/mach"
   args 'build'
   args '-C'
   args 'mobile/android/base'
   args 'gradle-targets'
 }
 
 android.libraryVariants.all { variant ->
-    variant.checkManifest.dependsOn prepareObjDir
+    variant.checkManifest.dependsOn generateCodeAndResources
 }
index 8c0fb64a8698b08ecc4158d828ca593c4928e9dd..0087cd3b18659b5577cf6ad3ef61f8eb9416ebba
GIT binary patch
literal 51348
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
E2mUD%;s5{u
--- a/mobile/android/gradle/gradle/wrapper/gradle-wrapper.properties
+++ b/mobile/android/gradle/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
-#Wed Apr 10 15:27:10 PDT 2013
+#Tue Nov 25 10:01:42 PST 2014
 distributionBase=GRADLE_USER_HOME
 distributionPath=wrapper/dists
 zipStoreBase=GRADLE_USER_HOME
 zipStorePath=wrapper/dists
-distributionUrl=http\://services.gradle.org/distributions/gradle-1.12-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-1.12-bin.zip
new file mode 100644
--- /dev/null
+++ b/mobile/android/gradle/omnijar/build.gradle
@@ -0,0 +1,42 @@
+project.buildDir = "${topobjdir}/mobile/android/gradle/omnijar/build"
+
+apply plugin: 'java'
+
+sourceSets {
+    main {
+        java {
+            // Remove the default directories entirely.
+            srcDirs = []
+            // Depend on everything in mobile/android that goes into
+            // the omnijar.
+            srcDir '../../locales'
+            srcDir '../../chrome'
+            srcDir '../../components'
+            srcDir '../../modules'
+            srcDir '../../themes/core'
+        }
+    }
+}
+
+/**
+ * This task runs when any input file is newer than the omnijar.
+ */
+task rebuildOmnijar(type:Exec) {
+    // Depend on all the inputs labeled as Java sources.
+    project.sourceSets.main.java.srcDirs.each { srcDir ->
+        inputs.sourceDir srcDir
+    }
+    // Produce a single output file.
+    outputs.file "${topobjdir}/dist/fennec/assets/omni.ja"
+
+    workingDir "${topobjdir}"
+
+    commandLine "${topsrcdir}/mach"
+    args 'build'
+    args '-C'
+    args 'mobile/android/base'
+    args 'gradle-omnijar'
+}
+
+// Rebuild the omnijar before the earliest Java task.
+tasks.compileJava.dependsOn rebuildOmnijar
new file mode 100644
--- /dev/null
+++ b/mobile/android/gradle/omnijar/gradle_AndroidManifest.xml
@@ -0,0 +1,4 @@
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="org.mozilla.gecko.omnijar">
+
+</manifest>
--- a/mobile/android/gradle/settings.gradle
+++ b/mobile/android/gradle/settings.gradle
@@ -1,8 +1,9 @@
 include ':app'
-project(':app').projectDir = new File("${topsrcdir}/mobile/android/app")
-
 include ':base'
-project(':base').projectDir = new File("${topsrcdir}/mobile/android/base")
+include ':omnijar'
+include ':thirdparty'
 
-include ':thirdparty'
+project(':app').projectDir = new File("${topsrcdir}/mobile/android/app")
+project(':base').projectDir = new File("${topsrcdir}/mobile/android/base")
+project(':omnijar').projectDir = new File("${topsrcdir}/mobile/android/gradle/omnijar")
 project(':thirdparty').projectDir = new File("${topsrcdir}/mobile/android/thirdparty")