Bug 1405396 - Build with Gradle by default; turn Bg (Gradle) into Bng (non-Gradle). r=maliu draft
authorNick Alexander <nalexander@mozilla.com>
Wed, 18 Oct 2017 13:05:54 -0700
changeset 692168 75cd2dfb51e0e1b510f5e618c2dc881cf5f22bf2
parent 692167 951bb4c75ecba0d83cb86e728e1164dda99a6a08
child 692169 f8bfc730ab963833f43d2f19b11027db8e49a06a
push id87422
push usernalexander@mozilla.com
push dateThu, 02 Nov 2017 17:14:40 +0000
reviewersmaliu
bugs1405396
milestone58.0a1
Bug 1405396 - Build with Gradle by default; turn Bg (Gradle) into Bng (non-Gradle). r=maliu This also turns the tier 2 job B(n)g into tier 1, since moz.build is still tier 1. It also pushes a lot of GeckoView related tasks into the main builds, since they should run as part of Gradle builds. This also removes unused tooltool manifests; the jobs that used these manifests use only toolchain tasks now. MozReview-Commit-ID: 2GmnJ7joCTT
mobile/android/config/mozconfigs/android-api-16-frontend/nightly
mobile/android/config/mozconfigs/android-api-16-gradle/nightly
mobile/android/config/mozconfigs/common
mobile/android/config/tooltool-manifests/android-frontend/releng.manifest
mobile/android/config/tooltool-manifests/android-gradle-dependencies/releng.manifest
taskcluster/ci/build/android-stuff.yml
taskcluster/ci/build/android.yml
taskcluster/ci/l10n/kind.yml
taskcluster/ci/nightly-l10n/kind.yml
taskcluster/docker/rust-build/splat_rust.py
testing/mozharness/configs/builds/releng_base_android_64_builds.py
testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_gradle.py
testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_gradle_artifact.py
--- a/mobile/android/config/mozconfigs/android-api-16-frontend/nightly
+++ b/mobile/android/config/mozconfigs/android-api-16-frontend/nightly
@@ -9,19 +9,16 @@ MOZ_AUTOMATION_UPLOAD=0
 MOZ_AUTOMATION_UPLOAD_SYMBOLS=0
 MOZ_AUTOMATION_PACKAGE_GENERATED_SOURCES=0
 
 NO_CACHE=1
 NO_NDK=1
 
 . "$topsrcdir/mobile/android/config/mozconfigs/common"
 
-ac_add_options --with-gradle="$topsrcdir/android-gradle-dependencies/gradle-dist/bin/gradle"
-export GRADLE_MAVEN_REPOSITORIES="file://$topsrcdir/android-gradle-dependencies/jcenter","file://$topsrcdir/android-gradle-dependencies/google"
-
 unset HOST_CC
 unset HOST_CXX
 unset RUSTC
 unset CARGO
 
 ac_add_options --disable-compile-environment
 ac_add_options --disable-tests
 
--- a/mobile/android/config/mozconfigs/android-api-16-gradle/nightly
+++ b/mobile/android/config/mozconfigs/android-api-16-gradle/nightly
@@ -1,8 +1,7 @@
 . "$topsrcdir/mobile/android/config/mozconfigs/common"
 
 . "$topsrcdir/mobile/android/config/mozconfigs/android-api-16/nightly"
 
-ac_add_options --with-gradle="$topsrcdir/android-gradle-dependencies/gradle-dist/bin/gradle"
-export GRADLE_MAVEN_REPOSITORIES="file://$topsrcdir/android-gradle-dependencies/jcenter","file://$topsrcdir/android-gradle-dependencies/google"
+ac_add_options --without-gradle
 
 . "$topsrcdir/mobile/android/config/mozconfigs/common.override"
--- a/mobile/android/config/mozconfigs/common
+++ b/mobile/android/config/mozconfigs/common
@@ -44,16 +44,19 @@ ac_add_options --enable-elf-hack
 
 ANDROID_NDK_VERSION="r10e"
 ANDROID_NDK_VERSION_32BIT="r8c"
 
 # Build Fennec
 ac_add_options --enable-application=mobile/android
 ac_add_options --with-android-sdk="$topsrcdir/android-sdk-linux"
 
+ac_add_options --with-gradle="$topsrcdir/android-gradle-dependencies/gradle-dist/bin/gradle"
+export GRADLE_MAVEN_REPOSITORIES="file://$topsrcdir/android-gradle-dependencies/jcenter","file://$topsrcdir/android-gradle-dependencies/google"
+
 if [ -z "$NO_NDK" ]; then
     ac_add_options --with-android-ndk="$topsrcdir/android-ndk"
 fi
 
 ac_add_options --enable-update-channel=${MOZ_UPDATE_CHANNEL}
 
 ac_add_options --with-google-api-keyfile=/builds/gapi.data
 ac_add_options --with-mozilla-api-keyfile=/builds/mozilla-fennec-geoloc-api.key
deleted file mode 100644
--- a/mobile/android/config/tooltool-manifests/android-frontend/releng.manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-[
-]
deleted file mode 100644
--- a/mobile/android/config/tooltool-manifests/android-gradle-dependencies/releng.manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-[
-]
--- a/taskcluster/ci/build/android-stuff.yml
+++ b/taskcluster/ci/build/android-stuff.yml
@@ -9,17 +9,16 @@ android-test/opt:
         tier: 1
         symbol: tc-A(test)
     worker-type: aws-provisioner-v1/gecko-{level}-b-android
     worker:
         docker-image: {in-tree: android-build}
         env:
             GRADLE_USER_HOME: "/builds/worker/workspace/build/src/mobile/android/gradle/dotgradle-offline"
             PERFHERDER_EXTRA_OPTIONS: android-test
-            TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-frontend/releng.manifest"
         artifacts:
           - name: public/android/unittest
             path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/app/reports/tests
             type: directory
           - name: public/build
             path: /builds/worker/artifacts/
             type: directory
         max-run-time: 36000
@@ -56,17 +55,16 @@ android-lint/opt:
         tier: 1
         symbol: tc-A(lint)
     worker-type: aws-provisioner-v1/gecko-{level}-b-android
     worker:
         docker-image: {in-tree: android-build}
         env:
             GRADLE_USER_HOME: "/builds/worker/workspace/build/src/mobile/android/gradle/dotgradle-offline"
             PERFHERDER_EXTRA_OPTIONS: android-lint
-            TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-frontend/releng.manifest"
         artifacts:
           - name: public/android/lint/lint-results-officialPhotonDebug.html
             path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/app/reports/lint-results-officialPhotonDebug.html
             type: file
           - name: public/android/lint/lint-results-officialPhotonDebug.xml
             path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/app/reports/lint-results-officialPhotonDebug.xml
             type: file
           - name: public/android/lint/lint-results-officialPhotonDebug_files
@@ -115,17 +113,16 @@ android-checkstyle/opt:
         tier: 1
         symbol: tc-A(checkstyle)
     worker-type: aws-provisioner-v1/gecko-{level}-b-android
     worker:
         docker-image: {in-tree: android-build}
         env:
             GRADLE_USER_HOME: "/builds/worker/workspace/build/src/mobile/android/gradle/dotgradle-offline"
             PERFHERDER_EXTRA_OPTIONS: android-checkstyle
-            TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-frontend/releng.manifest"
         artifacts:
           - name: public/android/checkstyle/checkstyle.html
             path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/app/reports/checkstyle/checkstyle.html
             type: file
           - name: public/android/checkstyle/checkstyle.xml
             path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/app/reports/checkstyle/checkstyle.xml
             type: file
           - name: public/build
@@ -167,17 +164,16 @@ android-findbugs/opt:
         tier: 1
         symbol: tc-A(findbugs)
     worker-type: aws-provisioner-v1/gecko-{level}-b-android
     worker:
         docker-image: {in-tree: android-build}
         env:
             GRADLE_USER_HOME: "/builds/worker/workspace/build/src/mobile/android/gradle/dotgradle-offline"
             PERFHERDER_EXTRA_OPTIONS: android-findbugs
-            TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-frontend/releng.manifest"
         artifacts:
           - name: public/android/findbugs/findbugs-officialPhotonDebug-output.html
             path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/app/reports/findbugs/findbugs-officialPhotonDebug-output.html
             type: file
           - name: public/android/findbugs/findbugs-officialPhotonDebug-output.xml
             path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/app/reports/findbugs/findbugs-officialPhotonDebug-output.xml
             type: file
           - name: public/build
--- a/taskcluster/ci/build/android.yml
+++ b/taskcluster/ci/build/android.yml
@@ -6,29 +6,41 @@ android-api-16/debug:
     treeherder:
         platform: android-4-0-armv7-api16/debug
         symbol: tc(B)
     worker-type: aws-provisioner-v1/gecko-{level}-b-android
     worker:
         docker-image: {in-tree: android-build}
         max-run-time: 7200
         env:
+            GRADLE_USER_HOME: "/builds/worker/workspace/build/src/mobile/android/gradle/dotgradle-offline"
             TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
+        artifacts:
+          - name: public/android/maven
+            path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/maven/
+            type: directory
+          - name: public/build/geckoview_example.apk
+            path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/geckoview_example-withGeckoBinaries.apk
+            type: file
+          - name: public/build
+            path: /builds/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"
         secrets: true
         custom-build-variant-cfg: api-16-debug
         tooltool-downloads: internal
     toolchains:
+        - android-gradle-dependencies
         - android-sdk-linux
         - linux64-clang
         - linux64-rust-android
         - linux64-sccache
         - proguard-jar
 
 android-x86/opt:
     description: "Android 4.2 x86 Opt"
@@ -38,34 +50,46 @@ android-x86/opt:
     treeherder:
         platform: android-4-2-x86/opt
         symbol: tc(B)
     worker-type: aws-provisioner-v1/gecko-{level}-b-android
     worker:
         docker-image: {in-tree: android-build}
         max-run-time: 7200
         env:
+            GRADLE_USER_HOME: "/builds/worker/workspace/build/src/mobile/android/gradle/dotgradle-offline"
             TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
             # Increase the timeout because nsContentUtils.o takes a ridiculously
             # long time to compile for x86 when using the current NDKs.  This
             # will eventually get fixed, but for now we have to live with this.
             # See https://github.com/android-ndk/ndk/issues/522 for more context.
             SCCACHE_IDLE_TIMEOUT: "1500"
+        artifacts:
+          - name: public/android/maven
+            path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/maven/
+            type: directory
+          - name: public/build/geckoview_example.apk
+            path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/geckoview_example-withGeckoBinaries.apk
+            type: file
+          - name: public/build
+            path: /builds/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"
         secrets: true
         custom-build-variant-cfg: x86
         tooltool-downloads: internal
     toolchains:
+        - android-gradle-dependencies
         - android-sdk-linux
         - linux64-clang
         - linux64-rust-android
         - linux64-sccache
         - proguard-jar
 
 android-x86-nightly/opt:
     description: "Android 4.2 x86 Nightly"
@@ -78,35 +102,47 @@ android-x86-nightly/opt:
     treeherder:
         platform: android-4-2-x86/opt
         symbol: tc(N)
     worker-type: aws-provisioner-v1/gecko-{level}-b-android
     worker:
         docker-image: {in-tree: android-build}
         max-run-time: 7200
         env:
+            GRADLE_USER_HOME: "/builds/worker/workspace/build/src/mobile/android/gradle/dotgradle-offline"
             TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
             # Increase the timeout because nsContentUtils.o takes a ridiculously
             # long time to compile for x86 when using the current NDKs.  This
             # will eventually get fixed, but for now we have to live with this.
             # See https://github.com/android-ndk/ndk/issues/522 for more context.
             SCCACHE_IDLE_TIMEOUT: "1500"
+        artifacts:
+          - name: public/android/maven
+            path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/maven/
+            type: directory
+          - name: public/build/geckoview_example.apk
+            path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/geckoview_example-withGeckoBinaries.apk
+            type: file
+          - name: public/build
+            path: /builds/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
             - taskcluster_nightly.py
         script: "mozharness/scripts/fx_desktop_build.py"
         secrets: true
         custom-build-variant-cfg: x86
         tooltool-downloads: internal
     toolchains:
+        - android-gradle-dependencies
         - android-sdk-linux
         - linux64-clang
         - linux64-rust-android
         - linux64-sccache
         - proguard-jar
 
 android-api-16/opt:
     description: "Android 4.0 api-16+ Opt"
@@ -116,29 +152,41 @@ android-api-16/opt:
     treeherder:
         platform: android-4-0-armv7-api16/opt
         symbol: tc(B)
     worker-type: aws-provisioner-v1/gecko-{level}-b-android
     worker:
         docker-image: {in-tree: android-build}
         max-run-time: 7200
         env:
+            GRADLE_USER_HOME: "/builds/worker/workspace/build/src/mobile/android/gradle/dotgradle-offline"
             TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
+        artifacts:
+          - name: public/android/maven
+            path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/maven/
+            type: directory
+          - name: public/build/geckoview_example.apk
+            path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/geckoview_example-withGeckoBinaries.apk
+            type: file
+          - name: public/build
+            path: /builds/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"
         secrets: true
         custom-build-variant-cfg: api-16
         tooltool-downloads: internal
     toolchains:
+        - android-gradle-dependencies
         - android-sdk-linux
         - linux64-clang
         - linux64-rust-android
         - linux64-sccache
         - proguard-jar
 
 android-api-16-nightly/opt:
     description: "Android 4.0 api-16+ Nightly"
@@ -151,30 +199,42 @@ android-api-16-nightly/opt:
     treeherder:
         platform: android-4-0-armv7-api16/opt
         symbol: tc(N)
     worker-type: aws-provisioner-v1/gecko-{level}-b-android
     worker:
         docker-image: {in-tree: android-build}
         max-run-time: 7200
         env:
+            GRADLE_USER_HOME: "/builds/worker/workspace/build/src/mobile/android/gradle/dotgradle-offline"
             TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
+        artifacts:
+          - name: public/android/maven
+            path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/maven/
+            type: directory
+          - name: public/build/geckoview_example.apk
+            path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/geckoview_example-withGeckoBinaries.apk
+            type: file
+          - name: public/build
+            path: /builds/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
             - taskcluster_nightly.py
         script: "mozharness/scripts/fx_desktop_build.py"
         secrets: true
         custom-build-variant-cfg: api-16
         tooltool-downloads: internal
     toolchains:
+        - android-gradle-dependencies
         - android-sdk-linux
         - linux64-clang
         - linux64-rust-android
         - linux64-sccache
         - proguard-jar
 
 android-x86-old-id/opt:
     description: "Android 4.2 x86 Opt OldId"
@@ -184,35 +244,47 @@ android-x86-old-id/opt:
     treeherder:
         platform: android-4-2-x86-old-id/opt
         symbol: tc(B)
     worker-type: aws-provisioner-v1/gecko-{level}-b-android
     worker:
         docker-image: {in-tree: android-build}
         max-run-time: 7200
         env:
+            GRADLE_USER_HOME: "/builds/worker/workspace/build/src/mobile/android/gradle/dotgradle-offline"
             TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
             # Increase the timeout because nsContentUtils.o takes a ridiculously
             # long time to compile for x86 when using the current NDKs.  This
             # will eventually get fixed, but for now we have to live with this.
             # See https://github.com/android-ndk/ndk/issues/522 for more context.
             SCCACHE_IDLE_TIMEOUT: "1500"
+        artifacts:
+          - name: public/android/maven
+            path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/maven/
+            type: directory
+          - name: public/build/geckoview_example.apk
+            path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/geckoview_example-withGeckoBinaries.apk
+            type: file
+          - name: public/build
+            path: /builds/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"
         secrets: true
         custom-build-variant-cfg: x86-old-id
         tooltool-downloads: internal
     run-on-projects: [ 'mozilla-central' ]
     toolchains:
+        - android-gradle-dependencies
         - android-sdk-linux
         - linux64-clang
         - linux64-rust-android
         - linux64-sccache
         - proguard-jar
 
 android-x86-old-id-nightly/opt:
     description: "Android 4.2 x86 OldId Nightly"
@@ -225,36 +297,48 @@ android-x86-old-id-nightly/opt:
     treeherder:
         platform: android-4-2-x86-old-id/opt
         symbol: tc(N)
     worker-type: aws-provisioner-v1/gecko-{level}-b-android
     worker:
         docker-image: {in-tree: android-build}
         max-run-time: 7200
         env:
+            GRADLE_USER_HOME: "/builds/worker/workspace/build/src/mobile/android/gradle/dotgradle-offline"
             TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
             # Increase the timeout because nsContentUtils.o takes a ridiculously
             # long time to compile for x86 when using the current NDKs.  This
             # will eventually get fixed, but for now we have to live with this.
             # See https://github.com/android-ndk/ndk/issues/522 for more context.
             SCCACHE_IDLE_TIMEOUT: "1500"
+        artifacts:
+          - name: public/android/maven
+            path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/maven/
+            type: directory
+          - name: public/build/geckoview_example.apk
+            path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/geckoview_example-withGeckoBinaries.apk
+            type: file
+          - name: public/build
+            path: /builds/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
             - taskcluster_nightly.py
         script: "mozharness/scripts/fx_desktop_build.py"
         secrets: true
         custom-build-variant-cfg: x86-old-id
         tooltool-downloads: internal
     run-on-projects: [ 'mozilla-central' ]
     toolchains:
+        - android-gradle-dependencies
         - android-sdk-linux
         - linux64-clang
         - linux64-rust-android
         - linux64-sccache
         - proguard-jar
 
 android-api-16-old-id/opt:
     description: "Android 4.0 api-16+ Opt OldId"
@@ -264,30 +348,42 @@ android-api-16-old-id/opt:
     treeherder:
         platform: android-4-0-armv7-api16-old-id/opt
         symbol: tc(B)
     worker-type: aws-provisioner-v1/gecko-{level}-b-android
     worker:
         docker-image: {in-tree: android-build}
         max-run-time: 7200
         env:
+            GRADLE_USER_HOME: "/builds/worker/workspace/build/src/mobile/android/gradle/dotgradle-offline"
             TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
+        artifacts:
+          - name: public/android/maven
+            path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/maven/
+            type: directory
+          - name: public/build/geckoview_example.apk
+            path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/geckoview_example-withGeckoBinaries.apk
+            type: file
+          - name: public/build
+            path: /builds/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"
         secrets: true
         custom-build-variant-cfg: api-16-old-id
         tooltool-downloads: internal
     run-on-projects: [ 'mozilla-central' ]
     toolchains:
+        - android-gradle-dependencies
         - android-sdk-linux
         - linux64-clang
         - linux64-rust-android
         - linux64-sccache
         - proguard-jar
 
 android-api-16-old-id-nightly/opt:
     description: "Android 4.0 api-16+ OldId Nightly"
@@ -300,52 +396,63 @@ android-api-16-old-id-nightly/opt:
     treeherder:
         platform: android-4-0-armv7-api16-old-id/opt
         symbol: tc(N)
     worker-type: aws-provisioner-v1/gecko-{level}-b-android
     worker:
         docker-image: {in-tree: android-build}
         max-run-time: 7200
         env:
+            GRADLE_USER_HOME: "/builds/worker/workspace/build/src/mobile/android/gradle/dotgradle-offline"
             TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
+        artifacts:
+          - name: public/android/maven
+            path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/maven/
+            type: directory
+          - name: public/build/geckoview_example.apk
+            path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/geckoview_example-withGeckoBinaries.apk
+            type: file
+          - name: public/build
+            path: /builds/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
             - taskcluster_nightly.py
         script: "mozharness/scripts/fx_desktop_build.py"
         secrets: true
         custom-build-variant-cfg: api-16-old-id
         tooltool-downloads: internal
     run-on-projects: [ 'mozilla-central' ]
     toolchains:
+        - android-gradle-dependencies
         - android-sdk-linux
         - linux64-clang
         - linux64-rust-android
         - linux64-sccache
         - proguard-jar
 
 android-api-16-gradle/opt:
-    description: "Android 4.0 api-16+ (Gradle) Opt"
+    description: "Android 4.0 api-16+ (non-Gradle) Opt"
     index:
         product: mobile
         job-name: android-api-16-gradle-opt
     treeherder:
         platform: android-api-16-gradle/opt
-        symbol: tc(Bg)
-        tier: 2
+        symbol: tc(Bng)
+        tier: 1
     worker-type: aws-provisioner-v1/gecko-{level}-b-android
     worker:
         docker-image: {in-tree: android-build}
         max-run-time: 7200
         env:
-            GRADLE_USER_HOME: /builds/worker/workspace/build/src/mobile/android/gradle/dotgradle-offline
             TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
         artifacts:
           - name: public/android/maven
             path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/maven/
             type: directory
           - name: public/build/geckoview_example.apk
             path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/geckoview_example-withGeckoBinaries.apk
             type: file
@@ -359,17 +466,16 @@ android-api-16-gradle/opt:
             - builds/releng_base_android_64_builds.py
             - disable_signing.py
             - platform_supports_post_upload_to_latest.py
         script: "mozharness/scripts/fx_desktop_build.py"
         secrets: true
         custom-build-variant-cfg: api-16-gradle
         tooltool-downloads: internal
     toolchains:
-        - android-gradle-dependencies
         - android-sdk-linux
         - linux64-clang
         - linux64-rust-android
         - linux64-sccache
         - proguard-jar
 
 android-aarch64/opt:
     description: "Android 5.0 AArch64 Opt"
@@ -379,29 +485,41 @@ android-aarch64/opt:
     treeherder:
         platform: android-5-0-aarch64/opt
         symbol: tc(B)
     worker-type: aws-provisioner-v1/gecko-{level}-b-android
     worker:
         docker-image: {in-tree: android-build}
         max-run-time: 7200
         env:
+            GRADLE_USER_HOME: "/builds/worker/workspace/build/src/mobile/android/gradle/dotgradle-offline"
             TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
+        artifacts:
+          - name: public/android/maven
+            path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/maven/
+            type: directory
+          - name: public/build/geckoview_example.apk
+            path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/geckoview_example-withGeckoBinaries.apk
+            type: file
+          - name: public/build
+            path: /builds/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"
         secrets: true
         custom-build-variant-cfg: aarch64
         tooltool-downloads: internal
     toolchains:
+        - android-gradle-dependencies
         - android-sdk-linux
         - linux64-clang
         - linux64-rust-android
         - linux64-sccache
         - proguard-jar
 
 android-aarch64-nightly/opt:
     description: "Android 5.0 AArch64 Nightly"
@@ -414,27 +532,39 @@ android-aarch64-nightly/opt:
     treeherder:
         platform: android-5-0-aarch64/opt
         symbol: tc(N)
     worker-type: aws-provisioner-v1/gecko-{level}-b-android
     worker:
         docker-image: {in-tree: android-build}
         max-run-time: 7200
         env:
+            GRADLE_USER_HOME: "/builds/worker/workspace/build/src/mobile/android/gradle/dotgradle-offline"
             TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
+        artifacts:
+          - name: public/android/maven
+            path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview/maven/
+            type: directory
+          - name: public/build/geckoview_example.apk
+            path: /builds/worker/workspace/build/src/obj-firefox/gradle/build/mobile/android/geckoview_example/outputs/apk/geckoview_example-withGeckoBinaries.apk
+            type: file
+          - name: public/build
+            path: /builds/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
             - taskcluster_nightly.py
         script: "mozharness/scripts/fx_desktop_build.py"
         secrets: true
         custom-build-variant-cfg: aarch64
         tooltool-downloads: internal
     toolchains:
+        - android-gradle-dependencies
         - android-sdk-linux
         - linux64-clang
         - linux64-rust-android
         - linux64-sccache
         - proguard-jar
--- a/taskcluster/ci/l10n/kind.yml
+++ b/taskcluster/ci/l10n/kind.yml
@@ -45,16 +45,17 @@ job-template:
            in-tree: desktop-build
          android-api-16-l10n:
            in-tree: android-build
          win.*: null
    toolchains:
       by-build-platform:
          default: []
          android-api-16-l10n:
+            - android-gradle-dependencies
             - android-sdk-linux
             - proguard-jar
    tooltool:
       by-build-platform:
          default: public
          android-api-16-l10n: internal
          macosx64-nightly: internal
    worker-type:
--- a/taskcluster/ci/nightly-l10n/kind.yml
+++ b/taskcluster/ci/nightly-l10n/kind.yml
@@ -48,16 +48,17 @@ job-template:
            in-tree: desktop-build
          android-api-16-nightly:
            in-tree: android-build
          win.*: null
    toolchains:
       by-build-platform:
          default: []
          android-api-16-nightly:
+            - android-gradle-dependencies
             - android-sdk-linux
             - proguard-jar
    tooltool:
       by-build-platform:
          default: public
          android-api-16-nightly: internal
          macosx64-nightly: internal
          win32-nightly: internal
--- a/taskcluster/docker/rust-build/splat_rust.py
+++ b/taskcluster/docker/rust-build/splat_rust.py
@@ -62,17 +62,16 @@ TARGETS = {
         'x86_64-unknown-linux-gnu-repack': [
             'browser/config/tooltool-manifests/linux32/releng.manifest',
             'browser/config/tooltool-manifests/linux64/hazard.manifest',
             'browser/config/tooltool-manifests/linux64/releng.manifest',
             ],
         'x86_64-unknown-linux-gnu-android-cross-repack': [
             'mobile/android/config/tooltool-manifests/android/releng.manifest',
             'mobile/android/config/tooltool-manifests/android-x86/releng.manifest',
-            'mobile/android/config/tooltool-manifests/android-gradle-dependencies/releng.manifest',
             ],
         'x86_64-unknown-linux-gnu-mingw32-cross-repack': [
             'browser/config/tooltool-manifests/mingw32/releng.manifest',
             ],
         'x86_64-unknown-linux-gnu-mac-cross-repack': [
             'browser/config/tooltool-manifests/macosx64/cross-releng.manifest',
             ],
         'x86_64-apple-darwin-repack': [
--- a/testing/mozharness/configs/builds/releng_base_android_64_builds.py
+++ b/testing/mozharness/configs/builds/releng_base_android_64_builds.py
@@ -13,16 +13,17 @@ config = {
         'build',
         'upload-files',
         'sendchange',
         'multi-l10n',
         'update',  # decided by query_is_nightly()
     ],
     "buildbot_json_path": "buildprops.json",
     'app_ini_path': '%(obj_dir)s/dist/bin/application.ini',
+    'max_build_output_timeout': 0,
     # decides whether we want to use moz_sign_cmd in env
     'enable_signing': True,
     # mock shtuff
     'mock_mozilla_dir':  '/builds/mock_mozilla',
     'mock_target': 'mozilla-centos6-x86_64-android',
     'mock_files': [
         ('/home/cltbld/.ssh', '/home/mock_mozilla/.ssh'),
         ('/home/cltbld/.hgrc', '/builds/.hgrc'),
@@ -119,9 +120,20 @@ config = {
                       'java-1.7.0-openjdk-devel', 'zlib-devel',
                       'glibc-static', 'openssh-clients', 'mpfr',
                       'wget', 'glibc.i686', 'libstdc++.i686',
                       'zlib.i686', 'freetype-2.3.11-6.el6_1.8.x86_64',
                       'ant', 'ant-apache-regexp'
                       ],
     'src_mozconfig': 'mobile/android/config/mozconfigs/android/nightly',
     #########################################################################
+
+    # 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',
+         'uploadArchives',
+        ],
+    ],
 }
--- a/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_gradle.py
+++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_gradle.py
@@ -1,19 +1,10 @@
 config = {
-    'base_name': 'Android armv7 api-16+ %(branch)s Gradle',
+    'base_name': 'Android armv7 api-16+ %(branch)s non-Gradle',
     'stage_platform': 'android-api-16-gradle',
     'build_type': 'api-16-gradle',
     'src_mozconfig': 'mobile/android/config/mozconfigs/android-api-16-gradle/nightly',
     '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',
-         'uploadArchives',
-        ],
-    ],
     'artifact_flag_build_variant_in_try': 'api-16-gradle-artifact',
-    'max_build_output_timeout': 0,
+    # Gradle is temporarily non-Gradle, and non-Gradle implies no geckoview.
+    'postflight_build_mach_commands': [],
 }
--- a/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_gradle_artifact.py
+++ b/testing/mozharness/configs/builds/releng_sub_android_configs/64_api_16_gradle_artifact.py
@@ -1,19 +1,10 @@
 config = {
-    'base_name': 'Android armv7 api-16+ %(branch)s Gradle Artifact build',
+    'base_name': 'Android armv7 api-16+ %(branch)s non-Gradle Artifact build',
     'stage_platform': 'android-api-16-gradle',
     'build_type': 'api-16-gradle-artifact',
     'src_mozconfig': 'mobile/android/config/mozconfigs/android-api-16-gradle/nightly-artifact',
     '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',
-         'uploadArchives',
-        ],
-    ],
-    'max_build_output_timeout': 0,
+    # Gradle is temporarily non-Gradle, and non-Gradle implies no geckoview.
+    'postflight_build_mach_commands': [],
 }