Bug 1291363 - Make Gradle build produce GeckoView AAR. r=chmanchester
authorNick Alexander <nalexander@mozilla.com>
Mon, 03 Oct 2016 10:08:13 -0700
changeset 316856 80d979342a04c163156c1b74235cb9c24f850658
parent 316855 5d8f137ee52eb37c06d4ffd8b272f5543b6de834
child 316857 ddf5af982d8b7a4258b3a6e05ee4c76ce66af605
push id32932
push userphilringnalda@gmail.com
push dateFri, 07 Oct 2016 03:24:25 +0000
treeherderautoland@7affb66131bb [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewerschmanchester
bugs1291363
milestone52.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 1291363 - Make Gradle build produce GeckoView AAR. r=chmanchester We also include the example APK, since it will be helpful to be able to regression test the example without downloading the AAR and manually building the example with that AAR. MozReview-Commit-ID: CMtA1FRS0Rf
taskcluster/ci/build/android.yml
testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15_gradle.py
--- a/taskcluster/ci/build/android.yml
+++ b/taskcluster/ci/build/android.yml
@@ -110,20 +110,28 @@ android-api-15-gradle/opt:
         tier: 2
     worker-type: aws-provisioner-v1/android-api-15
     worker:
         implementation: docker-worker
         max-run-time: 7200
         env:
             # Bug 1292762 - Set GRADLE_USER_HOME to avoid sdk-manager-plugin intermittent
             GRADLE_USER_HOME: /home/worker/workspace/build/src/dotgradle
+        artifacts:
+          - name: public/android/geckoview.aar
+            path: /home/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/outputs/aar/geckoview-withGeckoBinaries.aar
+            type: file
+          - name: public/android/geckoview_example.apk
+            path: /home/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/geckoview_example-withGeckoBinaries.apk
+            type: file
+          - name: public/build
+            path: /home/worker/artifacts/
+            type: directory
     run:
         using: mozharness
         actions: [get-secrets build multi-l10n update]
         config:
             - builds/releng_base_android_64_builds.py
             - disable_signing.py
             - platform_supports_post_upload_to_latest.py
         script: "mozharness/scripts/fx_desktop_build.py"
         custom-build-variant-cfg: api-15-gradle
         tooltool-downloads: internal
-
-
--- a/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15_gradle.py
+++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_15_gradle.py
@@ -1,8 +1,17 @@
 config = {
     'base_name': 'Android armv7 API 15+ %(branch)s Gradle',
     'stage_platform': 'android-api-15-gradle',
     'build_type': 'api-15-gradle',
     'src_mozconfig': 'mobile/android/config/mozconfigs/android-api-15-gradle/nightly',
     'tooltool_manifest_src': 'mobile/android/config/tooltool-manifests/android/releng.manifest',
     'multi_locale_config_platform': 'android',
+    # It's not obvious, but postflight_build is after packaging, so the Gecko
+    # binaries are in the object directory, ready to be packaged into the
+    # GeckoView AAR.
+    'postflight_build_mach_commands': [
+        ['gradle',
+         'geckoview:assembleWithGeckoBinaries',
+         'geckoview_example:assembleWithGeckoBinaries',
+        ],
+    ],
 }