Backed out 13 changesets (bug 1709640, bug 1718341) for failing geckoview-junit tasks on shippable lite platform. CLOSED TREE
Backed out changeset abc4249b08a0 (bug 1709640) Backed out changeset c7f2fa8d7535 (bug 1709640) Backed out changeset 45b07d37f247 (bug 1709640) Backed out changeset a15b3b87d71e (bug1718341) Backed out changeset a87639f2921b (bug1718341) Backed out changeset 31a57851c6d1 (bug1718341) Backed out changeset c7de56a1f886 (bug1718341) Backed out changeset 5e76806752c8 (bug1718341) Backed out changeset 74cfe6df218b (bug1718341) Backed out changeset 3bd0e376de51 (bug1718341) Backed out changeset 176238f92cfe (bug1718341) Backed out changeset 38d622f60fa5 (bug1718341) Backed out changeset 2e16fa5f0a1f (bug1718341)
This commit is contained in:
@@ -220,7 +220,7 @@ modify are listed below:
|
||||
- Linux: `unittests/linux_unittest.py`
|
||||
- Mac: `unittests/mac_unittest.py`
|
||||
- Windows: `unittests/win_unittest.py`
|
||||
- Android: `android/androidarm.py`
|
||||
- Android: `android/androidarm_4_3.py`
|
||||
|
||||
## How to instrument your objects for BloatView
|
||||
|
||||
|
||||
@@ -248,7 +248,7 @@ support-files =
|
||||
file_font_loading_api_vframe.html
|
||||
# This test checks font loading state. When loaded second time, fonts may be
|
||||
# loaded synchronously, causing this test to fail in test-verify task.
|
||||
skip-if = verify || toolkit == 'android' # Bug 1455824
|
||||
skip-if = verify
|
||||
[test_garbage_at_end_of_declarations.html]
|
||||
[test_grid_container_shorthands.html]
|
||||
[test_grid_item_shorthands.html]
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/common"
|
||||
|
||||
# Android
|
||||
ac_add_options --with-android-min-sdk=21
|
||||
ac_add_options --target=aarch64-linux-android
|
||||
|
||||
ac_add_options --with-branding=mobile/android/branding/beta
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
ac_add_options --enable-debug
|
||||
|
||||
# Android
|
||||
ac_add_options --with-android-min-sdk=21
|
||||
ac_add_options --target=aarch64-linux-android
|
||||
|
||||
export MOZILLA_OFFICIAL=1
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
ac_add_options --enable-debug
|
||||
|
||||
# Android
|
||||
ac_add_options --with-android-min-sdk=21
|
||||
ac_add_options --target=aarch64-linux-android
|
||||
|
||||
export MOZILLA_OFFICIAL=1
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/common"
|
||||
|
||||
ac_add_options --enable-geckoview-lite
|
||||
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/android-aarch64/debug"
|
||||
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/common.override"
|
||||
@@ -1,7 +0,0 @@
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/common"
|
||||
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/android-aarch64/nightly-lite"
|
||||
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/android-aarch64/l10n-nightly"
|
||||
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/common.override"
|
||||
@@ -1,6 +1,7 @@
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/common"
|
||||
|
||||
# Android
|
||||
ac_add_options --with-android-min-sdk=21
|
||||
ac_add_options --target=aarch64-linux-android
|
||||
|
||||
ac_add_options --with-branding=mobile/android/branding/nightly
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
. "$topsrcdir/build/mozconfig.artifact.automation"
|
||||
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/android-aarch64/nightly-artifact"
|
||||
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/common"
|
||||
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/android-aarch64/nightly-lite"
|
||||
|
||||
. "$topsrcdir/build/mozconfig.artifact"
|
||||
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/common.override"
|
||||
@@ -1,7 +0,0 @@
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/common"
|
||||
|
||||
ac_add_options --enable-geckoview-lite
|
||||
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/android-aarch64/nightly"
|
||||
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/common.override"
|
||||
@@ -1,38 +0,0 @@
|
||||
# Many things aren't appropriate for a frontend-only build.
|
||||
MOZ_AUTOMATION_BUILD_SYMBOLS=0
|
||||
MOZ_AUTOMATION_PACKAGE=0
|
||||
MOZ_AUTOMATION_UPLOAD=0
|
||||
MOZ_AUTOMATION_PACKAGE_GENERATED_SOURCES=0
|
||||
|
||||
NO_CACHE=1
|
||||
NO_NDK=1
|
||||
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/common"
|
||||
|
||||
# We want to download Gradle.
|
||||
ac_add_options --with-gradle
|
||||
# We want to use (and populate!) the local Nexus repositories.
|
||||
export GRADLE_MAVEN_REPOSITORIES="http://localhost:8081/nexus/content/repositories/google/","http://localhost:8081/nexus/content/repositories/central/","http://localhost:8081/nexus/content/repositories/gradle-plugins/"
|
||||
|
||||
# From here on, just like ../android-arm/nightly.
|
||||
|
||||
. "$topsrcdir/build/mozconfig.no-compile"
|
||||
|
||||
ac_add_options --target=arm-linux-androideabi
|
||||
|
||||
ac_add_options --disable-tests
|
||||
|
||||
ac_add_options --with-branding=mobile/android/branding/nightly
|
||||
|
||||
export MOZILLA_OFFICIAL=1
|
||||
|
||||
# mozconfigs/common.override would be here, but it needs to be last in the file.
|
||||
# End ../android-arm/nightly.
|
||||
|
||||
# Disable Keyfile Loading (and checks) since dependency fetching doesn't need these keys.
|
||||
# This overrides the settings in the common android mozconfig
|
||||
ac_add_options --without-mozilla-api-keyfile
|
||||
ac_add_options --without-google-location-service-api-keyfile
|
||||
ac_add_options --without-google-safebrowsing-api-keyfile
|
||||
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/common.override"
|
||||
@@ -1,7 +1,45 @@
|
||||
# Many things aren't appropriate for a frontend-only build.
|
||||
MOZ_AUTOMATION_BUILD_SYMBOLS=0
|
||||
MOZ_AUTOMATION_PACKAGE=0
|
||||
MOZ_AUTOMATION_UPLOAD=0
|
||||
MOZ_AUTOMATION_PACKAGE_GENERATED_SOURCES=0
|
||||
|
||||
NO_CACHE=1
|
||||
NO_NDK=1
|
||||
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/common"
|
||||
|
||||
# We want to download Gradle.
|
||||
ac_add_options --with-gradle
|
||||
# We want to use (and populate!) the local Nexus repositories.
|
||||
export GRADLE_MAVEN_REPOSITORIES="http://localhost:8081/nexus/content/repositories/google/","http://localhost:8081/nexus/content/repositories/central/","http://localhost:8081/nexus/content/repositories/gradle-plugins/"
|
||||
|
||||
# From here on, just like ../android-arm/nightly.
|
||||
|
||||
. "$topsrcdir/build/mozconfig.no-compile"
|
||||
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/android-arm-gradle-dependencies/base"
|
||||
ac_add_options --disable-tests
|
||||
|
||||
# Android
|
||||
# Warning: Before increasing the with-android-min-sdk value, please note several places in and out
|
||||
# of tree have to be changed. Otherwise, places like Treeherder or archive.mozilla.org will
|
||||
# advertise a bad API level. This may confuse people. As an example, please look at bug 1384482.
|
||||
# If you think you can't handle the whole set of changes, please reach out to the Release
|
||||
# Engineering team.
|
||||
ac_add_options --with-android-min-sdk=16
|
||||
ac_add_options --target=arm-linux-androideabi
|
||||
|
||||
ac_add_options --with-branding=mobile/android/branding/nightly
|
||||
|
||||
export MOZILLA_OFFICIAL=1
|
||||
|
||||
# mozconfigs/common.override would be here, but it needs to be last in the file.
|
||||
# End ../android-arm/nightly.
|
||||
|
||||
# Disable Keyfile Loading (and checks) since dependency fetching doesn't need these keys.
|
||||
# This overrides the settings in the common android mozconfig
|
||||
ac_add_options --without-mozilla-api-keyfile
|
||||
ac_add_options --without-google-location-service-api-keyfile
|
||||
ac_add_options --without-google-safebrowsing-api-keyfile
|
||||
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/common.override"
|
||||
|
||||
@@ -1,10 +0,0 @@
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/common"
|
||||
|
||||
. "$topsrcdir/build/mozconfig.no-compile"
|
||||
|
||||
# Android
|
||||
ac_add_options --enable-geckoview-lite
|
||||
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/android-arm-gradle-dependencies/base"
|
||||
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/common.override"
|
||||
@@ -1,6 +1,12 @@
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/common"
|
||||
|
||||
# Android
|
||||
# Warning: Before increasing the with-android-min-sdk value, please note several places in and out
|
||||
# of tree have to be changed. Otherwise, places like Treeherder or archive.mozilla.org will
|
||||
# advertise a bad API level. This may confuse people. As an example, please look at bug 1384482.
|
||||
# If you think you can't handle the whole set of changes, please reach out to the Release
|
||||
# Engineering team.
|
||||
ac_add_options --with-android-min-sdk=16
|
||||
ac_add_options --target=arm-linux-androideabi
|
||||
|
||||
ac_add_options --with-branding=mobile/android/branding/beta
|
||||
|
||||
@@ -4,6 +4,12 @@
|
||||
ac_add_options --enable-debug
|
||||
|
||||
# Android
|
||||
# Warning: Before increasing the with-android-min-sdk value, please note several places in and out
|
||||
# of tree have to be changed. Otherwise, places like Treeherder or archive.mozilla.org will
|
||||
# advertise a bad API level. This may confuse people. As an example, please look at bug 1384482.
|
||||
# If you think you can't handle the whole set of changes, please reach out to the Release
|
||||
# Engineering team.
|
||||
ac_add_options --with-android-min-sdk=16
|
||||
ac_add_options --target=arm-linux-androideabi
|
||||
|
||||
export MOZILLA_OFFICIAL=1
|
||||
|
||||
@@ -4,6 +4,12 @@
|
||||
ac_add_options --enable-debug
|
||||
|
||||
# Android
|
||||
# Warning: Before increasing the with-android-min-sdk value, please note several places in and out
|
||||
# of tree have to be changed. Otherwise, places like Treeherder or archive.mozilla.org will
|
||||
# advertise a bad API level. This may confuse people. As an example, please look at bug 1384482.
|
||||
# If you think you can't handle the whole set of changes, please reach out to the Release
|
||||
# Engineering team.
|
||||
ac_add_options --with-android-min-sdk=16
|
||||
ac_add_options --target=arm-linux-androideabi
|
||||
|
||||
export MOZILLA_OFFICIAL=1
|
||||
|
||||
@@ -10,6 +10,12 @@ ac_add_options --enable-debug
|
||||
ac_add_options --enable-java-coverage
|
||||
|
||||
# Android
|
||||
# Warning: Before increasing the with-android-min-sdk value, please note several places in and out
|
||||
# of tree have to be changed. Otherwise, places like Treeherder or archive.mozilla.org will
|
||||
# advertise a bad API level. This may confuse people. As an example, please look at bug 1384482.
|
||||
# If you think you can't handle the whole set of changes, please reach out to the Release
|
||||
# Engineering team.
|
||||
ac_add_options --with-android-min-sdk=16
|
||||
ac_add_options --target=arm-linux-androideabi
|
||||
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/android-arm/debug"
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
. "$topsrcdir/build/mozconfig.artifact.automation"
|
||||
|
||||
NO_CACHE=1
|
||||
NO_NDK=1
|
||||
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/common"
|
||||
|
||||
# Global options
|
||||
ac_add_options --enable-debug
|
||||
ac_add_options --enable-java-coverage
|
||||
|
||||
# Android
|
||||
ac_add_options --target=arm-linux-androideabi
|
||||
ac_add_options --enable-geckoview-lite
|
||||
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/android-arm/debug"
|
||||
|
||||
. "$topsrcdir/build/mozconfig.artifact"
|
||||
|
||||
ac_add_options --with-branding=mobile/android/branding/nightly
|
||||
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/common.override"
|
||||
@@ -1,14 +0,0 @@
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/common"
|
||||
|
||||
# Global options
|
||||
ac_add_options --enable-debug
|
||||
|
||||
# Android
|
||||
ac_add_options --target=arm-linux-androideabi
|
||||
ac_add_options --enable-geckoview-lite
|
||||
|
||||
export MOZILLA_OFFICIAL=1
|
||||
|
||||
ac_add_options --with-branding=mobile/android/branding/nightly
|
||||
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/common.override"
|
||||
@@ -4,6 +4,12 @@
|
||||
ac_add_options --enable-debug
|
||||
|
||||
# Android
|
||||
# Warning: Before increasing the with-android-min-sdk value, please note several places in and out
|
||||
# of tree have to be changed. Otherwise, places like Treeherder or archive.mozilla.org will
|
||||
# advertise a bad API level. This may confuse people. As an example, please look at bug 1384482.
|
||||
# If you think you can't handle the whole set of changes, please reach out to the Release
|
||||
# Engineering team.
|
||||
ac_add_options --with-android-min-sdk=16
|
||||
ac_add_options --target=arm-linux-androideabi
|
||||
|
||||
export MOZILLA_OFFICIAL=1
|
||||
|
||||
@@ -1,9 +0,0 @@
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/common"
|
||||
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/android-arm/nightly-lite"
|
||||
|
||||
. "$topsrcdir/build/mozconfig.no-compile"
|
||||
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/android-arm/l10n-nightly"
|
||||
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/common.override"
|
||||
@@ -1,6 +1,12 @@
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/common"
|
||||
|
||||
# Android
|
||||
# Warning: Before increasing the with-android-min-sdk value, please note several places in and out
|
||||
# of tree have to be changed. Otherwise, places like Treeherder or archive.mozilla.org will
|
||||
# advertise a bad API level. This may confuse people. As an example, please look at bug 1384482.
|
||||
# If you think you can't handle the whole set of changes, please reach out to the Release
|
||||
# Engineering team.
|
||||
ac_add_options --with-android-min-sdk=16
|
||||
ac_add_options --target=arm-linux-androideabi
|
||||
|
||||
ac_add_options --with-branding=mobile/android/branding/nightly
|
||||
|
||||
@@ -16,6 +16,12 @@ ac_add_options --disable-tests
|
||||
# From here on, like ../android-arm/nightly.
|
||||
|
||||
# Android
|
||||
# Warning: Before increasing the with-android-min-sdk value, please note several places in and out
|
||||
# of tree have to be changed. Otherwise, places like Treeherder or archive.mozilla.org will
|
||||
# advertise a bad API level. This may confuse people. As an example, please look at bug 1384482.
|
||||
# If you think you can't handle the whole set of changes, please reach out to the Release
|
||||
# Engineering team.
|
||||
ac_add_options --with-android-min-sdk=16
|
||||
ac_add_options --target=arm-linux-androideabi
|
||||
|
||||
ac_add_options --with-branding=mobile/android/branding/nightly
|
||||
|
||||
@@ -1,35 +0,0 @@
|
||||
# Many things aren't appropriate for a frontend-only build.
|
||||
MOZ_AUTOMATION_BUILD_SYMBOLS=0
|
||||
MOZ_AUTOMATION_PACKAGE=0
|
||||
MOZ_AUTOMATION_UPLOAD=0
|
||||
MOZ_AUTOMATION_PACKAGE_GENERATED_SOURCES=0
|
||||
|
||||
NO_CACHE=1
|
||||
NO_NDK=1
|
||||
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/common"
|
||||
|
||||
. "$topsrcdir/build/mozconfig.no-compile"
|
||||
|
||||
ac_add_options --disable-tests
|
||||
|
||||
# From here on, like ../android-arm/nightly.
|
||||
|
||||
# Android
|
||||
ac_add_options --target=arm-linux-androideabi
|
||||
ac_add_options --enable-geckoview-lite
|
||||
|
||||
ac_add_options --with-branding=mobile/android/branding/nightly
|
||||
|
||||
export MOZILLA_OFFICIAL=1
|
||||
|
||||
# mozconfigs/common.override would be here, but it needs to be last in the file.
|
||||
# End ../android-arm/nightly.
|
||||
|
||||
# Disable Keyfile Loading (and checks) since.
|
||||
# This overrides the settings in the common android mozconfig
|
||||
ac_add_options --without-mozilla-api-keyfile
|
||||
ac_add_options --without-google-location-service-api-keyfile
|
||||
ac_add_options --without-google-safebrowsing-api-keyfile
|
||||
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/common.override"
|
||||
@@ -1,11 +0,0 @@
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/common"
|
||||
|
||||
# Android
|
||||
ac_add_options --target=arm-linux-androideabi
|
||||
ac_add_options --enable-geckoview-lite
|
||||
|
||||
ac_add_options --with-branding=mobile/android/branding/nightly
|
||||
|
||||
export MOZILLA_OFFICIAL=1
|
||||
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/common.override"
|
||||
@@ -1,4 +1,4 @@
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/android-x86/nightly"
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/android-arm/nightly"
|
||||
|
||||
mk_add_options "export MOZ_AUTOMATION_PACKAGE_GENERATED_SOURCES=0"
|
||||
|
||||
@@ -1,6 +1,12 @@
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/common"
|
||||
|
||||
# Warning: Before increasing the with-android-min-sdk value, please note several places in and out
|
||||
# of tree have to be changed. Otherwise, places like Treeherder or archive.mozilla.org will
|
||||
# advertise a bad API level. This may confuse people. As an example, please look at bug 1384482.
|
||||
# If you think you can't handle the whole set of changes, please reach out to the Release
|
||||
# Engineering team.
|
||||
ac_add_options --target=i686-linux-android
|
||||
ac_add_options --with-android-min-sdk=16
|
||||
|
||||
ac_add_options --with-branding=mobile/android/branding/beta
|
||||
|
||||
|
||||
@@ -4,6 +4,12 @@
|
||||
ac_add_options --enable-debug
|
||||
|
||||
# Android
|
||||
# Warning: Before increasing the with-android-min-sdk value, please note several places in and out
|
||||
# of tree have to be changed. Otherwise, places like Treeherder or archive.mozilla.org will
|
||||
# advertise a bad API level. This may confuse people. As an example, please look at bug 1384482.
|
||||
# If you think you can't handle the whole set of changes, please reach out to the Release
|
||||
# Engineering team.
|
||||
ac_add_options --with-android-min-sdk=16
|
||||
ac_add_options --target=i686-linux-android
|
||||
|
||||
export MOZILLA_OFFICIAL=1
|
||||
|
||||
@@ -4,6 +4,12 @@
|
||||
ac_add_options --enable-debug
|
||||
|
||||
# Android
|
||||
# Warning: Before increasing the with-android-min-sdk value, please note several places in and out
|
||||
# of tree have to be changed. Otherwise, places like Treeherder or archive.mozilla.org will
|
||||
# advertise a bad API level. This may confuse people. As an example, please look at bug 1384482.
|
||||
# If you think you can't handle the whole set of changes, please reach out to the Release
|
||||
# Engineering team.
|
||||
ac_add_options --with-android-min-sdk=16
|
||||
ac_add_options --target=i686-linux-android
|
||||
|
||||
export MOZILLA_OFFICIAL=1
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/android-x86/debug-lite"
|
||||
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/android-x86/debug-fuzzing"
|
||||
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/common.override"
|
||||
@@ -1,14 +0,0 @@
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/common"
|
||||
|
||||
# Global options
|
||||
ac_add_options --enable-debug
|
||||
|
||||
# Android
|
||||
ac_add_options --target=i686-linux-android
|
||||
ac_add_options --enable-geckoview-lite
|
||||
|
||||
export MOZILLA_OFFICIAL=1
|
||||
|
||||
ac_add_options --with-branding=mobile/android/branding/nightly
|
||||
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/common.override"
|
||||
@@ -1,9 +0,0 @@
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/common"
|
||||
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/android-x86/nightly-lite"
|
||||
|
||||
. "$topsrcdir/build/mozconfig.no-compile"
|
||||
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/android-x86/l10n-nightly"
|
||||
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/common.override"
|
||||
@@ -1,6 +1,12 @@
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/common"
|
||||
|
||||
# Android
|
||||
# Warning: Before increasing the with-android-min-sdk value, please note several places in and out
|
||||
# of tree have to be changed. Otherwise, places like Treeherder or archive.mozilla.org will
|
||||
# advertise a bad API level. This may confuse people. As an example, please look at bug 1384482.
|
||||
# If you think you can't handle the whole set of changes, please reach out to the Release
|
||||
# Engineering team.
|
||||
ac_add_options --with-android-min-sdk=16
|
||||
ac_add_options --target=i686-linux-android
|
||||
|
||||
ac_add_options --with-branding=mobile/android/branding/nightly
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
. "$topsrcdir/build/mozconfig.artifact.automation"
|
||||
|
||||
NO_CACHE=1
|
||||
NO_NDK=1
|
||||
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/common"
|
||||
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/android-x86/nightly-lite"
|
||||
|
||||
. "$topsrcdir/build/mozconfig.artifact"
|
||||
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/common.override"
|
||||
@@ -1,11 +0,0 @@
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/common"
|
||||
|
||||
# Android
|
||||
ac_add_options --target=i686-linux-android
|
||||
ac_add_options --enable-geckoview-lite
|
||||
|
||||
ac_add_options --with-branding=mobile/android/branding/nightly
|
||||
|
||||
export MOZILLA_OFFICIAL=1
|
||||
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/common.override"
|
||||
@@ -1,6 +1,7 @@
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/common"
|
||||
|
||||
# Android
|
||||
ac_add_options --with-android-min-sdk=21
|
||||
ac_add_options --target=x86_64-linux-android
|
||||
|
||||
ac_add_options --with-branding=mobile/android/branding/beta
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
ac_add_options --enable-debug
|
||||
|
||||
# Android
|
||||
ac_add_options --with-android-min-sdk=21
|
||||
ac_add_options --target=x86_64-linux-android
|
||||
|
||||
export MOZILLA_OFFICIAL=1
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
ac_add_options --enable-debug
|
||||
|
||||
# Android
|
||||
ac_add_options --with-android-min-sdk=21
|
||||
ac_add_options --target=x86_64-linux-android
|
||||
|
||||
export MOZILLA_OFFICIAL=1
|
||||
|
||||
@@ -1,7 +0,0 @@
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/common"
|
||||
|
||||
ac_add_options --enable-geckoview-lite
|
||||
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/android-x86_64/debug"
|
||||
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/common.override"
|
||||
@@ -1,7 +0,0 @@
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/common"
|
||||
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/android-x86_64/l10n-nightly"
|
||||
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/android-x86_64/nightly-lite"
|
||||
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/common.override"
|
||||
@@ -1,6 +1,7 @@
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/common"
|
||||
|
||||
# Android
|
||||
ac_add_options --with-android-min-sdk=21
|
||||
ac_add_options --target=x86_64-linux-android
|
||||
|
||||
ac_add_options --with-branding=mobile/android/branding/nightly
|
||||
|
||||
@@ -1,12 +0,0 @@
|
||||
. "$topsrcdir/build/mozconfig.artifact.automation"
|
||||
|
||||
NO_CACHE=1
|
||||
NO_NDK=1
|
||||
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/common"
|
||||
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/android-x86_64/nightly-lite"
|
||||
|
||||
. "$topsrcdir/build/mozconfig.artifact"
|
||||
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/common.override"
|
||||
@@ -1,5 +0,0 @@
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/android-x86_64/nightly-lite"
|
||||
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/android-x86_64/nightly-fuzzing-asan"
|
||||
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/common.override"
|
||||
@@ -1,7 +0,0 @@
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/common"
|
||||
|
||||
ac_add_options --enable-geckoview-lite
|
||||
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/android-x86_64/nightly"
|
||||
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/common.override"
|
||||
@@ -1,6 +0,0 @@
|
||||
. "$topsrcdir/mobile/android/config/mozconfigs/android-x86_64/nightly"
|
||||
|
||||
mk_add_options "export MOZ_AUTOMATION_PACKAGE_GENERATED_SOURCES=0"
|
||||
|
||||
ac_add_options --enable-profile-generate=cross
|
||||
ac_add_options --disable-tests
|
||||
@@ -12,7 +12,7 @@ MOZ_BRANDING_DIRECTORY=mobile/android/branding/unofficial
|
||||
MOZ_OFFICIAL_BRANDING_DIRECTORY=mobile/android/branding/official
|
||||
# MOZ_APP_DISPLAYNAME is set by branding/configure.sh
|
||||
|
||||
# We support Android SDK version 21 and up by default (16 in lite mode).
|
||||
# We support Android SDK version 16 and up by default.
|
||||
# See the --enable-android-min-sdk and --enable-android-max-sdk arguments in configure.in.
|
||||
#
|
||||
# Warning: Before increasing the with-android-min-sdk value, please note several places in and out
|
||||
@@ -20,11 +20,12 @@ MOZ_OFFICIAL_BRANDING_DIRECTORY=mobile/android/branding/official
|
||||
# advertise a bad API level. This may confuse people. As an example, please look at bug 1384482.
|
||||
# If you think you can't handle the whole set of changes, please reach out to the Release
|
||||
# Engineering team.
|
||||
if test "$MOZ_ANDROID_GECKOVIEW_LITE"; then
|
||||
MOZ_ANDROID_MIN_SDK_VERSION=16
|
||||
else
|
||||
MOZ_ANDROID_MIN_SDK_VERSION=21
|
||||
fi
|
||||
MOZ_ANDROID_MIN_SDK_VERSION=16
|
||||
|
||||
# There are several entry points into the Firefox application. These are the names of some of the classes that are
|
||||
# listed in the Android manifest. They are specified in here to avoid hard-coding them in source code files.
|
||||
MOZ_ANDROID_APPLICATION_CLASS=org.mozilla.gecko.GeckoApplication
|
||||
MOZ_ANDROID_BROWSER_INTENT_CLASS=org.mozilla.gecko.BrowserApp
|
||||
|
||||
MOZ_NO_SMART_CARDS=1
|
||||
|
||||
|
||||
@@ -420,16 +420,11 @@ publishing {
|
||||
pom {
|
||||
groupId = 'org.mozilla.geckoview'
|
||||
|
||||
def omniSuffix = ""
|
||||
if (!mozconfig.substs.MOZ_ANDROID_GECKOVIEW_LITE) {
|
||||
omniSuffix = "-omni"
|
||||
}
|
||||
|
||||
if (mozconfig.substs.MOZ_UPDATE_CHANNEL == 'release') {
|
||||
// Release artifacts don't specify the channel, for the sake of simplicity.
|
||||
artifactId = 'geckoview$omniSuffix'
|
||||
artifactId = 'geckoview'
|
||||
} else {
|
||||
artifactId = "geckoview-${mozconfig.substs.MOZ_UPDATE_CHANNEL}$omniSuffix"
|
||||
artifactId = "geckoview-${mozconfig.substs.MOZ_UPDATE_CHANNEL}"
|
||||
}
|
||||
|
||||
if (mozconfig.substs.MOZILLA_OFFICIAL && !mozconfig.substs.MOZ_ANDROID_FAT_AAR_ARCHITECTURES) {
|
||||
|
||||
@@ -488,17 +488,22 @@ class AndroidEmulatorCommands(MachCommandBase):
|
||||
@CommandArgument(
|
||||
"--version",
|
||||
metavar="VERSION",
|
||||
choices=["arm", "x86_64"],
|
||||
choices=["arm-4.3", "x86-7.0"],
|
||||
help="Specify which AVD to run in emulator. "
|
||||
'One of "arm" (Android supporting armv7 binaries), or '
|
||||
'"x86_64" (Android supporting x86 or x86_64 binaries, '
|
||||
'One of "arm-4.3" (Android 4.3 supporting armv7 binaries), or '
|
||||
'"x86-7.0" (Android 7.0 supporting x86 or x86_64 binaries, '
|
||||
"recommended for most applications). "
|
||||
'By default, "arm" will be used if the current build environment '
|
||||
'architecture is arm; otherwise "x86_64".',
|
||||
'By default, "arm-4.3" will be used if the current build environment '
|
||||
'architecture is arm; otherwise "x86-7.0".',
|
||||
)
|
||||
@CommandArgument(
|
||||
"--wait", action="store_true", help="Wait for emulator to be closed."
|
||||
)
|
||||
@CommandArgument(
|
||||
"--force-update",
|
||||
action="store_true",
|
||||
help="Update AVD definition even when AVD is already installed.",
|
||||
)
|
||||
@CommandArgument("--gpu", help="Over-ride the emulator -gpu argument.")
|
||||
@CommandArgument(
|
||||
"--verbose", action="store_true", help="Log informative status messages."
|
||||
@@ -508,6 +513,7 @@ class AndroidEmulatorCommands(MachCommandBase):
|
||||
command_context,
|
||||
version,
|
||||
wait=False,
|
||||
force_update=False,
|
||||
gpu=None,
|
||||
verbose=False,
|
||||
):
|
||||
@@ -545,6 +551,15 @@ class AndroidEmulatorCommands(MachCommandBase):
|
||||
)
|
||||
return 2
|
||||
|
||||
if not emulator.check_avd(force_update):
|
||||
command_context.log(
|
||||
logging.INFO,
|
||||
"emulator",
|
||||
{},
|
||||
"Fetching and installing AVD. This may take a few minutes...",
|
||||
)
|
||||
emulator.update_avd(force_update)
|
||||
|
||||
command_context.log(
|
||||
logging.INFO,
|
||||
"emulator",
|
||||
|
||||
@@ -50,16 +50,6 @@ set_config(
|
||||
depends_if("MOZ_ANDROID_CONTENT_SERVICE_ISOLATED_PROCESS")(lambda x: True),
|
||||
)
|
||||
|
||||
option(
|
||||
"--enable-geckoview-lite",
|
||||
help="Build GeckoView in Lite mode. Lite mode removes all unnecessary dependencies like Glean.",
|
||||
)
|
||||
|
||||
set_config("MOZ_ANDROID_GECKOVIEW_LITE", True, when="--enable-geckoview-lite")
|
||||
add_old_configure_assignment(
|
||||
"MOZ_ANDROID_GECKOVIEW_LITE", True, when="--enable-geckoview-lite"
|
||||
)
|
||||
|
||||
imply_option("MOZ_NORMANDY", False)
|
||||
imply_option("MOZ_SERVICES_HEALTHREPORT", True)
|
||||
imply_option("MOZ_ANDROID_HISTORY", True)
|
||||
|
||||
@@ -2475,6 +2475,8 @@ AC_SUBST(MOZ_CRASHREPORTER_INJECTOR)
|
||||
AC_SUBST(MOZ_STUB_INSTALLER)
|
||||
AC_SUBST(MOZ_UPDATER)
|
||||
|
||||
AC_SUBST(MOZ_ANDROID_APPLICATION_CLASS)
|
||||
AC_SUBST(MOZ_ANDROID_BROWSER_INTENT_CLASS)
|
||||
AC_SUBST(INCREMENTAL_LINKER)
|
||||
|
||||
AC_SUBST_LIST(MOZ_FIX_LINK_PATHS)
|
||||
|
||||
@@ -1,25 +0,0 @@
|
||||
{
|
||||
"emulator_package": "system-images;android-24;default;armeabi-v7a",
|
||||
"emulator_avd_name": "mozemulator-armeabi-v7a",
|
||||
"emulator_extra_args": [
|
||||
"-skip-adb-auth",
|
||||
"-verbose",
|
||||
"-show-kernel",
|
||||
"-ranchu",
|
||||
"-selinux", "permissive",
|
||||
"-memory", "3072",
|
||||
"-cores", "4",
|
||||
"-skin", "800x1280",
|
||||
"-gpu", "on",
|
||||
"-no-snapstorage",
|
||||
"-no-snapshot",
|
||||
"-no-window",
|
||||
"-no-accel",
|
||||
"-prop", "ro.test_harness=true"
|
||||
],
|
||||
"emulator_extra_config": {
|
||||
"hw.lcd.density": "320",
|
||||
"disk.dataPartition.size": "4000MB",
|
||||
"sdcard.size": "600M"
|
||||
}
|
||||
}
|
||||
@@ -1,25 +0,0 @@
|
||||
{
|
||||
"emulator_package": "system-images;android-24;default;x86_64",
|
||||
"emulator_avd_name": "mozemulator-x86_64",
|
||||
"emulator_extra_args": [
|
||||
"-skip-adb-auth",
|
||||
"-verbose",
|
||||
"-show-kernel",
|
||||
"-ranchu",
|
||||
"-selinux", "permissive",
|
||||
"-memory", "3072",
|
||||
"-cores", "4",
|
||||
"-skin", "800x1280",
|
||||
"-gpu", "on",
|
||||
"-no-snapstorage",
|
||||
"-no-snapshot",
|
||||
"-no-window",
|
||||
"-no-accel",
|
||||
"-prop", "ro.test_harness=true"
|
||||
],
|
||||
"emulator_extra_config": {
|
||||
"hw.lcd.density": "320",
|
||||
"disk.dataPartition.size": "4000MB",
|
||||
"sdcard.size": "600M"
|
||||
}
|
||||
}
|
||||
@@ -1,3 +1,4 @@
|
||||
platform-tools
|
||||
build-tools;30.0.2
|
||||
platforms;android-30
|
||||
emulator
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
emulator
|
||||
@@ -5,12 +5,10 @@
|
||||
from __future__ import absolute_import, print_function, unicode_literals
|
||||
|
||||
import errno
|
||||
import json
|
||||
import os
|
||||
import stat
|
||||
import subprocess
|
||||
import sys
|
||||
import time
|
||||
|
||||
# We need the NDK version in multiple different places, and it's inconvenient
|
||||
# to pass down the NDK version to all relevant places, so we have this global
|
||||
@@ -18,26 +16,6 @@ import time
|
||||
from mozboot.bootstrap import MOZCONFIG_SUGGESTION_TEMPLATE
|
||||
|
||||
NDK_VERSION = "r21d"
|
||||
CMDLINE_TOOLS_VERSION_STRING = "4.0"
|
||||
CMDLINE_TOOLS_VERSION = "7302050"
|
||||
|
||||
# We expect the emulator AVD definitions to be platform agnostic
|
||||
LINUX_X86_64_ANDROID_AVD = "linux64-android-avd-x86_64-repack"
|
||||
LINUX_ARM_ANDROID_AVD = "linux64-android-avd-arm-repack"
|
||||
|
||||
MACOS_X86_64_ANDROID_AVD = "linux64-android-avd-x86_64-repack"
|
||||
MACOS_ARM_ANDROID_AVD = "linux64-android-avd-arm-repack"
|
||||
|
||||
# We don't currently support bootstrapping on Windows yet.
|
||||
# WINDOWS_X86_64_ANDROID_AVD = "linux64-android-avd-x86_64-repack"
|
||||
# WINDOWS_ARM_ANDROID_AVD = "linux64-android-avd-arm-repack"
|
||||
|
||||
AVD_MANIFEST_X86_64 = os.path.abspath(
|
||||
os.path.join(os.path.dirname(__file__), "android-avds/x86_64.json")
|
||||
)
|
||||
AVD_MANIFEST_ARM = os.path.abspath(
|
||||
os.path.join(os.path.dirname(__file__), "android-avds/arm.json")
|
||||
)
|
||||
|
||||
ANDROID_NDK_EXISTS = """
|
||||
Looks like you have the correct version of the Android NDK installed at:
|
||||
@@ -206,39 +184,13 @@ def get_paths(os_name):
|
||||
"ANDROID_NDK_HOME",
|
||||
os.path.join(mozbuild_path, "android-ndk-{0}".format(NDK_VERSION)),
|
||||
)
|
||||
avd_path = os.environ.get(
|
||||
"ANDROID_AVD_HOME", os.path.join(mozbuild_path, "android-device", "avd")
|
||||
)
|
||||
emulator_path = os.environ.get(
|
||||
"ANDROID_EMULATOR_HOME", os.path.join(mozbuild_path, "android-device")
|
||||
)
|
||||
return (mozbuild_path, sdk_path, ndk_path, avd_path, emulator_path)
|
||||
return (mozbuild_path, sdk_path, ndk_path)
|
||||
|
||||
|
||||
def sdkmanager_tool(sdk_path):
|
||||
# sys.platform is win32 even if Python/Win64.
|
||||
sdkmanager = "sdkmanager.bat" if sys.platform.startswith("win") else "sdkmanager"
|
||||
return os.path.join(
|
||||
sdk_path, "cmdline-tools", CMDLINE_TOOLS_VERSION_STRING, "bin", sdkmanager
|
||||
)
|
||||
|
||||
|
||||
def avdmanager_tool(sdk_path):
|
||||
# sys.platform is win32 even if Python/Win64.
|
||||
sdkmanager = "avdmanager.bat" if sys.platform.startswith("win") else "avdmanager"
|
||||
return os.path.join(
|
||||
sdk_path, "cmdline-tools", CMDLINE_TOOLS_VERSION_STRING, "bin", sdkmanager
|
||||
)
|
||||
|
||||
|
||||
def adb_tool(sdk_path):
|
||||
adb = "adb.bat" if sys.platform.startswith("win") else "adb"
|
||||
return os.path.join(sdk_path, "platform-tools", adb)
|
||||
|
||||
|
||||
def emulator_tool(sdk_path):
|
||||
emulator = "emulator.bat" if sys.platform.startswith("win") else "emulator"
|
||||
return os.path.join(sdk_path, "emulator", emulator)
|
||||
return os.path.join(sdk_path, "tools", "bin", sdkmanager)
|
||||
|
||||
|
||||
def ensure_dir(dir):
|
||||
@@ -255,12 +207,8 @@ def ensure_android(
|
||||
os_name,
|
||||
artifact_mode=False,
|
||||
ndk_only=False,
|
||||
system_images_only=False,
|
||||
emulator_only=False,
|
||||
avd_manifest_path=None,
|
||||
prewarm_avd=False,
|
||||
no_interactive=False,
|
||||
list_packages=False,
|
||||
):
|
||||
"""
|
||||
Ensure the Android SDK (and NDK, if `artifact_mode` is falsy) are
|
||||
@@ -268,23 +216,18 @@ def ensure_android(
|
||||
given URLs. Ensure the required Android SDK packages are
|
||||
installed.
|
||||
|
||||
`os_name` can be 'linux', 'macosx' or 'windows'.
|
||||
`os_name` can be 'linux' or 'macosx'.
|
||||
"""
|
||||
# The user may have an external Android SDK (in which case we
|
||||
# save them a lengthy download), or they may have already
|
||||
# completed the download. We unpack to
|
||||
# ~/.mozbuild/{android-sdk-$OS_NAME, android-ndk-$VER}.
|
||||
mozbuild_path, sdk_path, ndk_path, avd_path, emulator_path = get_paths(os_name)
|
||||
|
||||
if os_name == "macosx":
|
||||
os_tag = "mac"
|
||||
elif os_name == "windows":
|
||||
os_tag = "win"
|
||||
else:
|
||||
os_tag = os_name
|
||||
|
||||
sdk_url = "https://dl.google.com/android/repository/commandlinetools-{0}-{1}_latest.zip".format( # NOQA: E501
|
||||
os_tag, CMDLINE_TOOLS_VERSION
|
||||
mozbuild_path, sdk_path, ndk_path = get_paths(os_name)
|
||||
os_tag = "darwin" if os_name == "macosx" else os_name
|
||||
sdk_url = (
|
||||
"https://dl.google.com/android/repository/sdk-tools-{0}-4333796.zip".format(
|
||||
os_tag
|
||||
)
|
||||
)
|
||||
ndk_url = android_ndk_url(os_name)
|
||||
|
||||
@@ -303,35 +246,12 @@ def ensure_android(
|
||||
if ndk_only:
|
||||
return
|
||||
|
||||
avd_manifest = None
|
||||
if avd_manifest_path is not None:
|
||||
with open(avd_manifest_path) as f:
|
||||
avd_manifest = json.load(f)
|
||||
|
||||
# We expect the |sdkmanager| tool to be at
|
||||
# ~/.mozbuild/android-sdk-$OS_NAME/tools/cmdline-tools/$CMDLINE_TOOLS_VERSION_STRING/bin/sdkmanager. # NOQA: E501
|
||||
# ~/.mozbuild/android-sdk-$OS_NAME/tools/bin/sdkmanager.
|
||||
ensure_android_packages(
|
||||
sdkmanager_tool=sdkmanager_tool(sdk_path),
|
||||
emulator_only=emulator_only,
|
||||
system_images_only=system_images_only,
|
||||
avd_manifest=avd_manifest,
|
||||
no_interactive=no_interactive,
|
||||
list_packages=list_packages,
|
||||
)
|
||||
|
||||
if emulator_only or system_images_only:
|
||||
return
|
||||
|
||||
ensure_android_avd(
|
||||
avdmanager_tool=avdmanager_tool(sdk_path),
|
||||
adb_tool=adb_tool(sdk_path),
|
||||
emulator_tool=emulator_tool(sdk_path),
|
||||
avd_path=avd_path,
|
||||
sdk_path=sdk_path,
|
||||
emulator_path=emulator_path,
|
||||
no_interactive=no_interactive,
|
||||
avd_manifest=avd_manifest,
|
||||
prewarm_avd=prewarm_avd,
|
||||
)
|
||||
|
||||
|
||||
@@ -386,141 +306,32 @@ def ensure_android_sdk_and_ndk(
|
||||
# android-sdk-$OS_NAME directory; it no longer does so. We
|
||||
# preserve the old convention to smooth detecting existing SDK
|
||||
# installations.
|
||||
cmdline_tools_path = os.path.join(
|
||||
mozbuild_path, "android-sdk-{0}".format(os_name), "cmdline-tools"
|
||||
)
|
||||
install_mobile_android_sdk_or_ndk(sdk_url, cmdline_tools_path)
|
||||
# The tools package *really* wants to be in
|
||||
# <sdk>/cmdline-tools/$CMDLINE_TOOLS_VERSION_STRING
|
||||
os.rename(
|
||||
os.path.join(cmdline_tools_path, "cmdline-tools"),
|
||||
os.path.join(cmdline_tools_path, CMDLINE_TOOLS_VERSION_STRING),
|
||||
install_mobile_android_sdk_or_ndk(
|
||||
sdk_url, os.path.join(mozbuild_path, "android-sdk-{0}".format(os_name))
|
||||
)
|
||||
|
||||
|
||||
def get_packages_to_install(packages_file_content, avd_manifest):
|
||||
packages = []
|
||||
packages += map(lambda package: package.strip(), packages_file_content)
|
||||
if avd_manifest is not None:
|
||||
packages += [avd_manifest["emulator_package"]]
|
||||
return packages
|
||||
|
||||
|
||||
def ensure_android_avd(
|
||||
avdmanager_tool,
|
||||
adb_tool,
|
||||
emulator_tool,
|
||||
avd_path,
|
||||
sdk_path,
|
||||
emulator_path,
|
||||
no_interactive=False,
|
||||
avd_manifest=None,
|
||||
prewarm_avd=False,
|
||||
):
|
||||
def get_packages_to_install(packages_file_name):
|
||||
"""
|
||||
Use the given sdkmanager tool (like 'sdkmanager') to install required
|
||||
Android packages.
|
||||
"""
|
||||
if avd_manifest is None:
|
||||
return
|
||||
|
||||
ensure_dir(avd_path)
|
||||
# The AVD needs this folder to boot, so make sure it exists here.
|
||||
ensure_dir(os.path.join(sdk_path, "platforms"))
|
||||
|
||||
avd_name = avd_manifest["emulator_avd_name"]
|
||||
args = [
|
||||
avdmanager_tool,
|
||||
"--verbose",
|
||||
"create",
|
||||
"avd",
|
||||
"--force",
|
||||
"--name",
|
||||
avd_name,
|
||||
"--package",
|
||||
avd_manifest["emulator_package"],
|
||||
]
|
||||
|
||||
if not no_interactive:
|
||||
sdkmanager version 26.1.1 (current) and some versions below have a bug that makes
|
||||
the following command fail:
|
||||
args = [sdkmanager_tool, '--package_file={0}'.format(package_file_name)]
|
||||
subprocess.check_call(args)
|
||||
return
|
||||
|
||||
# Flush outputs before running sdkmanager.
|
||||
sys.stdout.flush()
|
||||
env = os.environ.copy()
|
||||
env["ANDROID_AVD_HOME"] = avd_path
|
||||
proc = subprocess.Popen(args, stdin=subprocess.PIPE, env=env)
|
||||
proc.communicate("no\n".encode("UTF-8"))
|
||||
|
||||
retcode = proc.poll()
|
||||
if retcode:
|
||||
cmd = args[0]
|
||||
e = subprocess.CalledProcessError(retcode, cmd)
|
||||
raise e
|
||||
|
||||
config_file_name = os.path.join(avd_path, avd_name + ".avd", "config.ini")
|
||||
|
||||
print("Writing config at %s" % config_file_name)
|
||||
|
||||
if os.path.isfile(config_file_name):
|
||||
with open(config_file_name, "a") as config:
|
||||
for key, value in avd_manifest["emulator_extra_config"].items():
|
||||
config.write("%s=%s\n" % (key, value))
|
||||
else:
|
||||
raise NotImplementedError(
|
||||
"Could not find config file at %s, something went wrong" % config_file_name
|
||||
)
|
||||
if prewarm_avd:
|
||||
run_prewarm_avd(
|
||||
adb_tool, emulator_tool, env, avd_name, avd_manifest, no_interactive
|
||||
)
|
||||
|
||||
|
||||
def run_prewarm_avd(
|
||||
adb_tool, emulator_tool, env, avd_name, avd_manifest, no_interactive=False
|
||||
):
|
||||
The error is in the sdkmanager, where the --package_file param isn't recognized.
|
||||
The error is being tracked here https://issuetracker.google.com/issues/66465833
|
||||
Meanwhile, this workaround achives installing all required Android packages by reading
|
||||
them out of the same file that --package_file would have used, and passing them as strings.
|
||||
So from here: https://developer.android.com/studio/command-line/sdkmanager
|
||||
Instead of:
|
||||
sdkmanager --package_file=package_file [options]
|
||||
We're doing:
|
||||
sdkmanager "platform-tools" "platforms;android-26"
|
||||
"""
|
||||
Ensures the emulator is fully booted to save time on future iterations.
|
||||
"""
|
||||
args = [emulator_tool, "-avd", avd_name] + avd_manifest["emulator_extra_args"]
|
||||
|
||||
# Flush outputs before running emulator.
|
||||
sys.stdout.flush()
|
||||
proc = subprocess.Popen(args, env=env)
|
||||
|
||||
booted = False
|
||||
for i in range(100):
|
||||
boot_completed_cmd = [adb_tool, "shell", "getprop", "sys.boot_completed"]
|
||||
completed_proc = subprocess.Popen(
|
||||
boot_completed_cmd, env=env, stdout=subprocess.PIPE
|
||||
)
|
||||
try:
|
||||
out, err = completed_proc.communicate(timeout=30)
|
||||
boot_completed = out.decode("UTF-8").strip()
|
||||
print("sys.boot_completed = %s" % boot_completed)
|
||||
time.sleep(30)
|
||||
if boot_completed == "1":
|
||||
booted = True
|
||||
break
|
||||
except subprocess.TimeoutExpired:
|
||||
# Sometimes the adb command hangs, that's ok
|
||||
print("sys.boot_completed = Timeout")
|
||||
|
||||
if not booted:
|
||||
raise NotImplementedError("Could not prewarm emulator")
|
||||
|
||||
# We can kill the emulator now
|
||||
proc.terminate()
|
||||
with open(packages_file_name) as package_file:
|
||||
return map(lambda package: package.strip(), package_file.readlines())
|
||||
|
||||
|
||||
def ensure_android_packages(
|
||||
sdkmanager_tool,
|
||||
emulator_only=False,
|
||||
system_images_only=False,
|
||||
avd_manifest=None,
|
||||
no_interactive=False,
|
||||
list_packages=False,
|
||||
):
|
||||
def ensure_android_packages(sdkmanager_tool, emulator_only=False, no_interactive=False):
|
||||
"""
|
||||
Use the given sdkmanager tool (like 'sdkmanager') to install required
|
||||
Android packages.
|
||||
@@ -528,24 +339,18 @@ def ensure_android_packages(
|
||||
|
||||
# This tries to install all the required Android packages. The user
|
||||
# may be prompted to agree to the Android license.
|
||||
if system_images_only:
|
||||
packages_file_name = "android-system-images-packages.txt"
|
||||
elif emulator_only:
|
||||
packages_file_name = "android-emulator-packages.txt"
|
||||
if emulator_only:
|
||||
package_file_name = os.path.abspath(
|
||||
os.path.join(os.path.dirname(__file__), "android-emulator-packages.txt")
|
||||
)
|
||||
else:
|
||||
packages_file_name = "android-packages.txt"
|
||||
|
||||
packages_file_path = os.path.abspath(
|
||||
os.path.join(os.path.dirname(__file__), packages_file_name)
|
||||
)
|
||||
with open(packages_file_path) as packages_file:
|
||||
packages_file_content = packages_file.readlines()
|
||||
|
||||
packages = get_packages_to_install(packages_file_content, avd_manifest)
|
||||
print(INSTALLING_ANDROID_PACKAGES % "\n".join(packages))
|
||||
package_file_name = os.path.abspath(
|
||||
os.path.join(os.path.dirname(__file__), "android-packages.txt")
|
||||
)
|
||||
print(INSTALLING_ANDROID_PACKAGES % open(package_file_name, "rt").read())
|
||||
|
||||
args = [sdkmanager_tool]
|
||||
args.extend(packages)
|
||||
args.extend(get_packages_to_install(package_file_name))
|
||||
|
||||
if not no_interactive:
|
||||
subprocess.check_call(args)
|
||||
@@ -565,12 +370,10 @@ def ensure_android_packages(
|
||||
cmd = args[0]
|
||||
e = subprocess.CalledProcessError(retcode, cmd)
|
||||
raise e
|
||||
if list_packages:
|
||||
subprocess.check_call([sdkmanager_tool, "--list"])
|
||||
|
||||
|
||||
def generate_mozconfig(os_name, artifact_mode=False):
|
||||
moz_state_dir, sdk_path, ndk_path, avd_path, emulator_path = get_paths(os_name)
|
||||
moz_state_dir, sdk_path, ndk_path = get_paths(os_name)
|
||||
|
||||
extra_lines = []
|
||||
if extra_lines:
|
||||
@@ -584,7 +387,6 @@ def generate_mozconfig(os_name, artifact_mode=False):
|
||||
kwargs = dict(
|
||||
sdk_path=sdk_path,
|
||||
ndk_path=ndk_path,
|
||||
avd_path=avd_path,
|
||||
moz_state_dir=moz_state_dir,
|
||||
extra_lines="\n".join(extra_lines),
|
||||
)
|
||||
@@ -626,12 +428,6 @@ def main(argv):
|
||||
action="store_true",
|
||||
help="If true, install only the Android NDK (and not the Android SDK).",
|
||||
)
|
||||
parser.add_option(
|
||||
"--system-images-only",
|
||||
dest="system_images_only",
|
||||
action="store_true",
|
||||
help="If true, install only the system images for the AVDs.",
|
||||
)
|
||||
parser.add_option(
|
||||
"--no-interactive",
|
||||
dest="no_interactive",
|
||||
@@ -644,23 +440,6 @@ def main(argv):
|
||||
action="store_true",
|
||||
help="If true, install only the Android emulator (and not the SDK or NDK).",
|
||||
)
|
||||
parser.add_option(
|
||||
"--avd-manifest",
|
||||
dest="avd_manifest_path",
|
||||
help="If present, generate AVD from the manifest pointed by this argument.",
|
||||
)
|
||||
parser.add_option(
|
||||
"--prewarm-avd",
|
||||
dest="prewarm_avd",
|
||||
action="store_true",
|
||||
help="If true, boot the AVD and wait until completed to speed up subsequent boots.",
|
||||
)
|
||||
parser.add_option(
|
||||
"--list-packages",
|
||||
dest="list_packages",
|
||||
action="store_true",
|
||||
help="If true, list installed packages.",
|
||||
)
|
||||
|
||||
options, _ = parser.parse_args(argv)
|
||||
|
||||
@@ -687,12 +466,8 @@ def main(argv):
|
||||
os_name,
|
||||
artifact_mode=options.artifact_mode,
|
||||
ndk_only=options.ndk_only,
|
||||
system_images_only=options.system_images_only,
|
||||
emulator_only=options.emulator_only,
|
||||
avd_manifest_path=options.avd_manifest_path,
|
||||
prewarm_avd=options.prewarm_avd,
|
||||
no_interactive=options.no_interactive,
|
||||
list_packages=options.list_packages,
|
||||
)
|
||||
mozconfig = generate_mozconfig(os_name, options.artifact_mode)
|
||||
|
||||
|
||||
@@ -23,7 +23,12 @@ if sys.version_info < (3,):
|
||||
class ArchlinuxBootstrapper(LinuxBootstrapper, BaseBootstrapper):
|
||||
"""Archlinux experimental bootstrapper."""
|
||||
|
||||
SYSTEM_PACKAGES = ["base-devel", "nodejs", "unzip", "zip"]
|
||||
SYSTEM_PACKAGES = [
|
||||
"base-devel",
|
||||
"nodejs",
|
||||
"unzip",
|
||||
"zip",
|
||||
]
|
||||
|
||||
BROWSER_PACKAGES = [
|
||||
"alsa-lib",
|
||||
@@ -43,7 +48,7 @@ class ArchlinuxBootstrapper(LinuxBootstrapper, BaseBootstrapper):
|
||||
]
|
||||
|
||||
BROWSER_AUR_PACKAGES = [
|
||||
"https://aur.archlinux.org/cgit/aur.git/snapshot/uuid.tar.gz"
|
||||
"https://aur.archlinux.org/cgit/aur.git/snapshot/uuid.tar.gz",
|
||||
]
|
||||
|
||||
MOBILE_ANDROID_COMMON_PACKAGES = [
|
||||
@@ -71,6 +76,12 @@ class ArchlinuxBootstrapper(LinuxBootstrapper, BaseBootstrapper):
|
||||
def install_browser_artifact_mode_packages(self, mozconfig_builder):
|
||||
self.ensure_browser_packages(artifact_mode=True)
|
||||
|
||||
def install_mobile_android_packages(self, mozconfig_builder):
|
||||
self.ensure_mobile_android_packages(mozconfig_builder)
|
||||
|
||||
def install_mobile_android_artifact_mode_packages(self, mozconfig_builder):
|
||||
self.ensure_mobile_android_packages(mozconfig_builder, artifact_mode=True)
|
||||
|
||||
def ensure_browser_packages(self, artifact_mode=False):
|
||||
# TODO: Figure out what not to install for artifact mode
|
||||
self.aur_install(*self.BROWSER_AUR_PACKAGES)
|
||||
@@ -80,7 +91,7 @@ class ArchlinuxBootstrapper(LinuxBootstrapper, BaseBootstrapper):
|
||||
# installed via ensure_browser_packages
|
||||
pass
|
||||
|
||||
def install_mobile_android_packages(self, mozconfig_builder, artifact_mode=False):
|
||||
def ensure_mobile_android_packages(self, mozconfig_builder, artifact_mode=False):
|
||||
# Multi-part process:
|
||||
# 1. System packages.
|
||||
# 2. Android SDK. Android NDK only if we are not in artifact mode. Android packages.
|
||||
@@ -103,7 +114,7 @@ class ArchlinuxBootstrapper(LinuxBootstrapper, BaseBootstrapper):
|
||||
|
||||
# 2. Android pieces.
|
||||
self.ensure_java(mozconfig_builder)
|
||||
super().install_mobile_android_packages(artifact_mode=artifact_mode)
|
||||
super().ensure_mobile_android_packages(artifact_mode=artifact_mode)
|
||||
|
||||
def _update_package_manager(self):
|
||||
self.pacman_update()
|
||||
|
||||
@@ -199,14 +199,6 @@ class BaseBootstrapper(object):
|
||||
"%s does not yet implement install_browser_packages()" % __name__
|
||||
)
|
||||
|
||||
def ensure_browser_packages(self, state_dir, checkout_root):
|
||||
"""
|
||||
Install pre-built packages needed to build Firefox for Desktop (application 'browser')
|
||||
|
||||
Currently this is not needed and kept for compatibility with Firefox for Android.
|
||||
"""
|
||||
pass
|
||||
|
||||
def generate_browser_mozconfig(self):
|
||||
"""
|
||||
Print a message to the console detailing what the user's mozconfig
|
||||
@@ -253,23 +245,14 @@ class BaseBootstrapper(object):
|
||||
|
||||
def install_mobile_android_packages(self, mozconfig_builder):
|
||||
"""
|
||||
Install packages required to build GeckoView (application
|
||||
'mobile/android').
|
||||
Install packages required to build Firefox for Android (application
|
||||
'mobile/android', also known as Fennec).
|
||||
"""
|
||||
raise NotImplementedError(
|
||||
"Cannot bootstrap GeckoView/Firefox for Android: "
|
||||
"%s does not yet implement install_mobile_android_packages()" % __name__
|
||||
)
|
||||
|
||||
def ensure_mobile_android_packages(self, state_dir, checkout_root):
|
||||
"""
|
||||
Install pre-built packages required to run GeckoView (application 'mobile/android')
|
||||
"""
|
||||
raise NotImplementedError(
|
||||
"Cannot bootstrap GeckoView/Firefox for Android: "
|
||||
"%s does not yet implement ensure_mobile_android_packages()" % __name__
|
||||
)
|
||||
|
||||
def generate_mobile_android_mozconfig(self):
|
||||
"""
|
||||
Print a message to the console detailing what the user's mozconfig
|
||||
|
||||
@@ -256,9 +256,7 @@ class Bootstrapper(object):
|
||||
|
||||
return state_dir
|
||||
|
||||
def maybe_install_private_packages_or_exit(
|
||||
self, state_dir, checkout_root, application
|
||||
):
|
||||
def maybe_install_private_packages_or_exit(self, state_dir, checkout_root):
|
||||
# Install the clang packages needed for building the style system, as
|
||||
# well as the version of NodeJS that we currently support.
|
||||
# Also install the clang static-analysis package by default
|
||||
@@ -273,10 +271,6 @@ class Bootstrapper(object):
|
||||
self.instance.ensure_nasm_packages(state_dir, checkout_root)
|
||||
self.instance.ensure_sccache_packages(state_dir, checkout_root)
|
||||
self.instance.ensure_wasi_sysroot_packages(state_dir, checkout_root)
|
||||
# Like 'ensure_browser_packages' or 'ensure_mobile_android_packages'
|
||||
getattr(self.instance, "ensure_%s_packages" % application)(
|
||||
state_dir, checkout_root
|
||||
)
|
||||
|
||||
def check_code_submission(self, checkout_root):
|
||||
if self.instance.no_interactive or which("moz-phab"):
|
||||
@@ -393,9 +387,7 @@ class Bootstrapper(object):
|
||||
which("git"), which("git-cinnabar"), state_dir, checkout_root
|
||||
)
|
||||
|
||||
self.maybe_install_private_packages_or_exit(
|
||||
state_dir, checkout_root, application
|
||||
)
|
||||
self.maybe_install_private_packages_or_exit(state_dir, checkout_root)
|
||||
self.check_code_submission(checkout_root)
|
||||
# Wait until after moz-phab setup to check telemetry so that employees
|
||||
# will be automatically opted-in.
|
||||
|
||||
@@ -84,17 +84,23 @@ class CentOSFedoraBootstrapper(LinuxBootstrapper, BaseBootstrapper):
|
||||
def install_browser_artifact_mode_packages(self, mozconfig_builder):
|
||||
self.ensure_browser_packages(artifact_mode=True)
|
||||
|
||||
def install_mobile_android_packages(self, mozconfig_builder):
|
||||
self.ensure_mobile_android_packages(mozconfig_builder, artifact_mode=False)
|
||||
|
||||
def install_mobile_android_artifact_mode_packages(self, mozconfig_builder):
|
||||
self.ensure_mobile_android_packages(mozconfig_builder, artifact_mode=True)
|
||||
|
||||
def ensure_browser_packages(self, artifact_mode=False):
|
||||
# TODO: Figure out what not to install for artifact mode
|
||||
self.dnf_groupinstall(*self.browser_group_packages)
|
||||
self.dnf_install(*self.browser_packages)
|
||||
|
||||
def install_mobile_android_packages(self, mozconfig_builder, artifact_mode=False):
|
||||
def ensure_mobile_android_packages(self, mozconfig_builder, artifact_mode=False):
|
||||
# Install Android specific packages.
|
||||
self.dnf_install(*self.mobile_android_packages)
|
||||
|
||||
self.ensure_java(mozconfig_builder)
|
||||
super().install_mobile_android_packages(artifact_mode=artifact_mode)
|
||||
super().ensure_mobile_android_packages(artifact_mode=artifact_mode)
|
||||
|
||||
def upgrade_mercurial(self, current):
|
||||
if current is None:
|
||||
|
||||
@@ -102,6 +102,12 @@ class DebianBootstrapper(LinuxBootstrapper, BaseBootstrapper):
|
||||
def install_browser_artifact_mode_packages(self, mozconfig_builder):
|
||||
self.ensure_browser_packages(artifact_mode=True)
|
||||
|
||||
def install_mobile_android_packages(self, mozconfig_builder):
|
||||
self.ensure_mobile_android_packages(mozconfig_builder)
|
||||
|
||||
def install_mobile_android_artifact_mode_packages(self, mozconfig_builder):
|
||||
self.ensure_mobile_android_packages(mozconfig_builder, artifact_mode=True)
|
||||
|
||||
def ensure_browser_packages(self, artifact_mode=False):
|
||||
# TODO: Figure out what not to install for artifact mode
|
||||
self.apt_install(*self.BROWSER_COMMON_PACKAGES)
|
||||
@@ -109,7 +115,7 @@ class DebianBootstrapper(LinuxBootstrapper, BaseBootstrapper):
|
||||
if not modern:
|
||||
self.apt_install("nasm")
|
||||
|
||||
def install_mobile_android_packages(self, mozconfig_builder, artifact_mode=False):
|
||||
def ensure_mobile_android_packages(self, mozconfig_builder, artifact_mode=False):
|
||||
# Multi-part process:
|
||||
# 1. System packages.
|
||||
# 2. Android SDK. Android NDK only if we are not in artifact mode. Android packages.
|
||||
@@ -117,7 +123,7 @@ class DebianBootstrapper(LinuxBootstrapper, BaseBootstrapper):
|
||||
|
||||
# 2. Android pieces.
|
||||
self.ensure_java(mozconfig_builder)
|
||||
super().install_mobile_android_packages(artifact_mode=artifact_mode)
|
||||
super().ensure_mobile_android_packages(artifact_mode=artifact_mode)
|
||||
|
||||
def _update_package_manager(self):
|
||||
self.apt_update()
|
||||
|
||||
@@ -24,8 +24,21 @@ class GentooBootstrapper(LinuxBootstrapper, BaseBootstrapper):
|
||||
def install_browser_artifact_mode_packages(self, mozconfig_builder):
|
||||
self.ensure_browser_packages(artifact_mode=True)
|
||||
|
||||
def install_mobile_android_packages(self, mozconfig_builder):
|
||||
self.ensure_mobile_android_packages(mozconfig_builder, artifact_mode=False)
|
||||
|
||||
def install_mobile_android_artifact_mode_packages(self, mozconfig_builder):
|
||||
self.ensure_mobile_android_packages(mozconfig_builder, artifact_mode=True)
|
||||
|
||||
def ensure_system_packages(self):
|
||||
self.run_as_root(["emerge", "--noreplace", "--quiet", "app-arch/zip"])
|
||||
self.run_as_root(
|
||||
[
|
||||
"emerge",
|
||||
"--noreplace",
|
||||
"--quiet",
|
||||
"app-arch/zip",
|
||||
]
|
||||
)
|
||||
|
||||
def ensure_browser_packages(self, artifact_mode=False):
|
||||
# TODO: Figure out what not to install for artifact mode
|
||||
@@ -43,11 +56,11 @@ class GentooBootstrapper(LinuxBootstrapper, BaseBootstrapper):
|
||||
]
|
||||
)
|
||||
|
||||
def install_mobile_android_packages(self, mozconfig_builder, artifact_mode=False):
|
||||
def ensure_mobile_android_packages(self, mozconfig_builder, artifact_mode=False):
|
||||
self.run_as_root(["emerge", "--noreplace", "--quiet", "dev-java/openjdk-bin"])
|
||||
|
||||
self.ensure_java(mozconfig_builder)
|
||||
super().install_mobile_android_packages(artifact_mode=artifact_mode)
|
||||
super().ensure_mobile_android_packages(artifact_mode=artifact_mode)
|
||||
|
||||
def _update_package_manager(self):
|
||||
self.run_as_root(["emerge", "--sync"])
|
||||
|
||||
@@ -136,39 +136,12 @@ class MobileAndroidBootstrapper(object):
|
||||
def __init__(self, **kwargs):
|
||||
pass
|
||||
|
||||
def install_mobile_android_packages(self, artifact_mode=False):
|
||||
def ensure_mobile_android_packages(self, artifact_mode=False):
|
||||
from mozboot import android
|
||||
|
||||
android.ensure_android(
|
||||
"linux", artifact_mode=artifact_mode, no_interactive=self.no_interactive
|
||||
)
|
||||
android.ensure_android(
|
||||
"linux",
|
||||
artifact_mode=artifact_mode,
|
||||
no_interactive=self.no_interactive,
|
||||
system_images_only=True,
|
||||
avd_manifest_path=android.AVD_MANIFEST_X86_64,
|
||||
)
|
||||
android.ensure_android(
|
||||
"linux",
|
||||
artifact_mode=artifact_mode,
|
||||
no_interactive=self.no_interactive,
|
||||
system_images_only=True,
|
||||
avd_manifest_path=android.AVD_MANIFEST_ARM,
|
||||
)
|
||||
|
||||
def install_mobile_android_artifact_mode_packages(self):
|
||||
self.install_mobile_android_packages(artifact_mode=True)
|
||||
|
||||
def ensure_mobile_android_packages(self, state_dir, checkout_root):
|
||||
from mozboot import android
|
||||
|
||||
self.install_toolchain_artifact(
|
||||
state_dir, checkout_root, android.LINUX_X86_64_ANDROID_AVD
|
||||
)
|
||||
self.install_toolchain_artifact(
|
||||
state_dir, checkout_root, android.LINUX_ARM_ANDROID_AVD
|
||||
)
|
||||
|
||||
def generate_mobile_android_mozconfig(self, artifact_mode=False):
|
||||
from mozboot import android
|
||||
|
||||
@@ -149,7 +149,13 @@ class MozillaBuildBootstrapper(BaseBootstrapper):
|
||||
def install_browser_artifact_mode_packages(self, mozconfig_builder):
|
||||
pass
|
||||
|
||||
def install_mobile_android_packages(self, mozconfig_builder, artifact_mode=False):
|
||||
def install_mobile_android_packages(self, mozconfig_builder):
|
||||
self.ensure_mobile_android_packages(mozconfig_builder)
|
||||
|
||||
def install_mobile_android_artifact_mode_packages(self, mozconfig_builder):
|
||||
self.ensure_mobile_android_packages(mozconfig_builder, artifact_mode=True)
|
||||
|
||||
def ensure_mobile_android_packages(self, mozconfig_builder, artifact_mode=False):
|
||||
java_bin_dir = self.ensure_java(mozconfig_builder)
|
||||
from mach.util import setenv
|
||||
|
||||
|
||||
@@ -35,9 +35,15 @@ class OpenSUSEBootstrapper(LinuxBootstrapper, BaseBootstrapper):
|
||||
"patterns-gnome-devel_gnome",
|
||||
]
|
||||
|
||||
BROWSER_GROUP_PACKAGES = ["devel_C_C++", "devel_gnome"]
|
||||
BROWSER_GROUP_PACKAGES = [
|
||||
"devel_C_C++",
|
||||
"devel_gnome",
|
||||
]
|
||||
|
||||
MOBILE_ANDROID_COMMON_PACKAGES = ["java-1_8_0-openjdk", "wget"]
|
||||
MOBILE_ANDROID_COMMON_PACKAGES = [
|
||||
"java-1_8_0-openjdk",
|
||||
"wget",
|
||||
]
|
||||
|
||||
def __init__(self, version, dist_id, **kwargs):
|
||||
print("Using an experimental bootstrapper for openSUSE.")
|
||||
@@ -55,6 +61,12 @@ class OpenSUSEBootstrapper(LinuxBootstrapper, BaseBootstrapper):
|
||||
def install_browser_artifact_mode_packages(self, mozconfig_builder):
|
||||
self.ensure_browser_packages(artifact_mode=True)
|
||||
|
||||
def install_mobile_android_packages(self, mozconfig_builder):
|
||||
self.ensure_mobile_android_packages()
|
||||
|
||||
def install_mobile_android_artifact_mode_packages(self, mozconfig_builder):
|
||||
self.ensure_mobile_android_packages(artifact_mode=True)
|
||||
|
||||
def install_mercurial(self):
|
||||
self(["pip", "install", "--upgrade", "pip", "--user"])
|
||||
self(["pip", "install", "--upgrade", "Mercurial", "--user"])
|
||||
@@ -74,7 +86,7 @@ class OpenSUSEBootstrapper(LinuxBootstrapper, BaseBootstrapper):
|
||||
# TODO: Figure out what not to install for artifact mode
|
||||
self.zypper_patterninstall(*self.BROWSER_GROUP_PACKAGES)
|
||||
|
||||
def install_mobile_android_packages(self, artifact_mode=False):
|
||||
def ensure_mobile_android_packages(self, artifact_mode=False):
|
||||
# Multi-part process:
|
||||
# 1. System packages.
|
||||
# 2. Android SDK. Android NDK only if we are not in artifact mode. Android packages.
|
||||
@@ -93,7 +105,7 @@ class OpenSUSEBootstrapper(LinuxBootstrapper, BaseBootstrapper):
|
||||
raise e
|
||||
|
||||
# 2. Android pieces.
|
||||
super().install_mobile_android_packages(artifact_mode=artifact_mode)
|
||||
super().ensure_mobile_android_packages(artifact_mode=artifact_mode)
|
||||
|
||||
def _update_package_manager(self):
|
||||
self.zypper_update
|
||||
|
||||
@@ -156,16 +156,6 @@ class OSXBootstrapper(BaseBootstrapper):
|
||||
def install_mobile_android_packages(self, mozconfig_builder):
|
||||
self.ensure_homebrew_mobile_android_packages(mozconfig_builder)
|
||||
|
||||
def ensure_mobile_android_packages(self, state_dir, checkout_root):
|
||||
from mozboot import android
|
||||
|
||||
self.install_toolchain_artifact(
|
||||
state_dir, checkout_root, android.MACOS_X86_64_ANDROID_AVD
|
||||
)
|
||||
self.install_toolchain_artifact(
|
||||
state_dir, checkout_root, android.MACOS_ARM_ANDROID_AVD
|
||||
)
|
||||
|
||||
def install_mobile_android_artifact_mode_packages(self, mozconfig_builder):
|
||||
self.ensure_homebrew_mobile_android_packages(
|
||||
mozconfig_builder, artifact_mode=True
|
||||
@@ -270,20 +260,6 @@ class OSXBootstrapper(BaseBootstrapper):
|
||||
android.ensure_android(
|
||||
"macosx", artifact_mode=artifact_mode, no_interactive=self.no_interactive
|
||||
)
|
||||
android.ensure_android(
|
||||
"macosx",
|
||||
system_images_only=True,
|
||||
artifact_mode=artifact_mode,
|
||||
no_interactive=self.no_interactive,
|
||||
avd_manifest_path=android.AVD_MANIFEST_X86_64,
|
||||
)
|
||||
android.ensure_android(
|
||||
"macosx",
|
||||
system_images_only=True,
|
||||
artifact_mode=artifact_mode,
|
||||
no_interactive=self.no_interactive,
|
||||
avd_manifest_path=android.AVD_MANIFEST_ARM,
|
||||
)
|
||||
|
||||
def ensure_homebrew_installed(self):
|
||||
"""
|
||||
|
||||
@@ -20,8 +20,14 @@ if sys.version_info < (3,):
|
||||
class SolusBootstrapper(LinuxBootstrapper, BaseBootstrapper):
|
||||
"""Solus experimental bootstrapper."""
|
||||
|
||||
SYSTEM_PACKAGES = ["nodejs", "unzip", "zip"]
|
||||
SYSTEM_COMPONENTS = ["system.devel"]
|
||||
SYSTEM_PACKAGES = [
|
||||
"nodejs",
|
||||
"unzip",
|
||||
"zip",
|
||||
]
|
||||
SYSTEM_COMPONENTS = [
|
||||
"system.devel",
|
||||
]
|
||||
|
||||
BROWSER_PACKAGES = [
|
||||
"alsa-lib",
|
||||
@@ -62,6 +68,12 @@ class SolusBootstrapper(LinuxBootstrapper, BaseBootstrapper):
|
||||
def install_browser_artifact_mode_packages(self, mozconfig_builder):
|
||||
self.ensure_browser_packages(artifact_mode=True)
|
||||
|
||||
def install_mobile_android_packages(self, mozconfig_builder):
|
||||
self.ensure_mobile_android_packages(mozconfig_builder)
|
||||
|
||||
def install_mobile_android_artifact_mode_packages(self, mozconfig_builder):
|
||||
self.ensure_mobile_android_packages(mozconfig_builder, artifact_mode=True)
|
||||
|
||||
def ensure_browser_packages(self, artifact_mode=False):
|
||||
self.package_install(*self.BROWSER_PACKAGES)
|
||||
|
||||
@@ -69,7 +81,7 @@ class SolusBootstrapper(LinuxBootstrapper, BaseBootstrapper):
|
||||
# installed via ensure_browser_packages
|
||||
pass
|
||||
|
||||
def install_mobile_android_packages(self, mozconfig_builder, artifact_mode=False):
|
||||
def ensure_mobile_android_packages(self, mozconfig_builder, artifact_mode=False):
|
||||
try:
|
||||
self.package_install(*self.MOBILE_ANDROID_COMMON_PACKAGES)
|
||||
except Exception as e:
|
||||
@@ -78,7 +90,7 @@ class SolusBootstrapper(LinuxBootstrapper, BaseBootstrapper):
|
||||
|
||||
# 2. Android pieces.
|
||||
self.ensure_java(mozconfig_builder)
|
||||
super().install_mobile_android_packages(artifact_mode=artifact_mode)
|
||||
super().ensure_mobile_android_packages(artifact_mode=artifact_mode)
|
||||
|
||||
def _update_package_manager(self):
|
||||
pass
|
||||
|
||||
@@ -14,7 +14,14 @@ from mozboot.linux_common import LinuxBootstrapper
|
||||
|
||||
class VoidBootstrapper(LinuxBootstrapper, BaseBootstrapper):
|
||||
|
||||
PACKAGES = ["clang", "make", "mercurial", "nodejs", "unzip", "zip"]
|
||||
PACKAGES = [
|
||||
"clang",
|
||||
"make",
|
||||
"mercurial",
|
||||
"nodejs",
|
||||
"unzip",
|
||||
"zip",
|
||||
]
|
||||
|
||||
BROWSER_PACKAGES = [
|
||||
"dbus-devel",
|
||||
@@ -77,10 +84,16 @@ class VoidBootstrapper(LinuxBootstrapper, BaseBootstrapper):
|
||||
def install_browser_artifact_mode_packages(self, mozconfig_builder):
|
||||
self.ensure_browser_packages(artifact_mode=True)
|
||||
|
||||
def install_mobile_android_packages(self, mozconfig_builder):
|
||||
self.ensure_mobile_android_packages(mozconfig_builder)
|
||||
|
||||
def install_mobile_android_artifact_mode_packages(self, mozconfig_builder):
|
||||
self.ensure_mobile_android_packages(mozconfig_builder, artifact_mode=True)
|
||||
|
||||
def ensure_browser_packages(self, artifact_mode=False):
|
||||
self.xbps_install(*self.browser_packages)
|
||||
|
||||
def install_mobile_android_packages(self, mozconfig_builder, artifact_mode=False):
|
||||
def ensure_mobile_android_packages(self, mozconfig_builder, artifact_mode=False):
|
||||
# Multi-part process:
|
||||
# 1. System packages.
|
||||
# 2. Android SDK. Android NDK only if we are not in artifact mode. Android packages.
|
||||
@@ -88,7 +101,7 @@ class VoidBootstrapper(LinuxBootstrapper, BaseBootstrapper):
|
||||
|
||||
# 2. Android pieces.
|
||||
self.ensure_java(mozconfig_builder)
|
||||
super().install_mobile_android_packages(artifact_mode=artifact_mode)
|
||||
super().ensure_mobile_android_packages(artifact_mode=artifact_mode)
|
||||
|
||||
def _update_package_manager(self):
|
||||
self.xbps_update()
|
||||
|
||||
@@ -56,7 +56,10 @@ class WindowsBootstrapper(BaseBootstrapper):
|
||||
"mingw-w64-i686-toolchain",
|
||||
]
|
||||
|
||||
BROWSER_PACKAGES = ["mingw-w64-x86_64-nasm", "mingw-w64-i686-nsis"]
|
||||
BROWSER_PACKAGES = [
|
||||
"mingw-w64-x86_64-nasm",
|
||||
"mingw-w64-i686-nsis",
|
||||
]
|
||||
|
||||
MOBILE_ANDROID_COMMON_PACKAGES = ["wget"]
|
||||
|
||||
@@ -93,11 +96,6 @@ class WindowsBootstrapper(BaseBootstrapper):
|
||||
"We do not support building Android on Windows. Sorry!"
|
||||
)
|
||||
|
||||
def ensure_mobile_android_packages(self, state_dir, checkout_root):
|
||||
raise NotImplementedError(
|
||||
"We do not support building Android on Windows. Sorry!"
|
||||
)
|
||||
|
||||
def install_mobile_android_artifact_mode_packages(self, mozconfig_builder):
|
||||
raise NotImplementedError(
|
||||
"We do not support building Android on Windows. Sorry!"
|
||||
|
||||
@@ -93,19 +93,6 @@ configurations.all { config ->
|
||||
'geckoview-beta-x86_64',
|
||||
]
|
||||
|
||||
def geckoviewOmniModules = [
|
||||
'geckoview-nightly-omni',
|
||||
'geckoview-nightly-omni-armeabi-v7a',
|
||||
'geckoview-nightly-omni-arm64-v8a',
|
||||
'geckoview-nightly-omni-x86',
|
||||
'geckoview-nightly-omni-x86_64',
|
||||
'geckoview-beta-omni',
|
||||
'geckoview-beta-omni-armeabi-v7a',
|
||||
'geckoview-beta-omni-arm64-v8a',
|
||||
'geckoview-beta-omni-x86',
|
||||
'geckoview-beta-omni-x86_64',
|
||||
]
|
||||
|
||||
if (config.isCanBeResolved()) {
|
||||
config.resolutionStrategy { strategy ->
|
||||
dependencySubstitution {
|
||||
@@ -120,15 +107,8 @@ configurations.all { config ->
|
||||
}
|
||||
|
||||
def group = dependency.requested.group
|
||||
def module = dependency.requested.module
|
||||
if (group == 'org.mozilla.geckoview'
|
||||
&& (geckoviewModules.contains(module) || geckoviewOmniModules.contains(module))) {
|
||||
def name = ''
|
||||
if (geckoviewOmniModules.contains(module)) {
|
||||
name = 'geckoview-default-omni'
|
||||
} else {
|
||||
name = 'geckoview-default'
|
||||
}
|
||||
if (group == 'org.mozilla.geckoview' && geckoviewModules.contains(dependency.requested.module)) {
|
||||
def name = 'geckoview-default'
|
||||
log("Substituting ${group}:${dependency.requested.module} with local GeckoView ${group}:${name} in ${config}")
|
||||
|
||||
dependency.useTarget([group: group, name: name, version: '+'])
|
||||
|
||||
@@ -92,7 +92,7 @@ jobs:
|
||||
job-name: android-geckoview-fat-aar-opt
|
||||
type: shippable-with-multi-l10n
|
||||
treeherder:
|
||||
platform: android-5-0-geckoview-fat-aar-shippable/opt
|
||||
platform: android-4-0-geckoview-fat-aar-shippable/opt
|
||||
symbol: Bgv
|
||||
dependencies:
|
||||
android-x86-shippable: build-android-x86-shippable/opt
|
||||
@@ -109,33 +109,3 @@ jobs:
|
||||
- taskcluster_nightly.py
|
||||
optimization:
|
||||
skip-unless-backstop: null
|
||||
|
||||
android-geckoview-fat-aar-shippable-lite/opt:
|
||||
description: "Android GeckoView Lite multi-architecture fat AAR Shippable"
|
||||
attributes:
|
||||
shippable: true
|
||||
enable-full-crashsymbols: true
|
||||
disable-push-apk: true
|
||||
shipping-phase: build
|
||||
shipping-product: fennec
|
||||
index:
|
||||
job-name: android-geckoview-fat-aar-opt-lite
|
||||
type: shippable-with-multi-l10n
|
||||
treeherder:
|
||||
platform: android-4-1-geckoview-fat-aar-shippable/opt
|
||||
symbol: Bgvl
|
||||
dependencies:
|
||||
android-x86-shippable: build-android-x86-shippable-lite/opt
|
||||
android-x86_64-shippable: build-android-x86_64-shippable-lite/opt
|
||||
android-arm-shippable: build-android-arm-shippable-lite/opt
|
||||
android-aarch64-shippable: build-android-aarch64-shippable-lite/opt
|
||||
worker:
|
||||
env:
|
||||
PERFHERDER_EXTRA_OPTIONS: android-geckoview-fat-aar-nightly-lite
|
||||
run:
|
||||
actions: [get-secrets, build, multi-l10n]
|
||||
config:
|
||||
- builds/releng_base_android_64_builds.py
|
||||
- taskcluster_nightly.py
|
||||
optimization:
|
||||
skip-unless-backstop: null
|
||||
|
||||
@@ -14,7 +14,7 @@ android-geckoview-docs/opt:
|
||||
product: mobile
|
||||
job-name: android-geckoview-docs
|
||||
treeherder:
|
||||
platform: android-4-1-armv7/opt
|
||||
platform: android-4-0-armv7/opt
|
||||
kind: build
|
||||
tier: 2
|
||||
symbol: A(gv-docs)
|
||||
|
||||
@@ -33,6 +33,7 @@ job-defaults:
|
||||
tooltool-downloads: internal
|
||||
fetches:
|
||||
toolchain:
|
||||
- android-gradle-dependencies
|
||||
- android-ndk-linux
|
||||
- android-sdk-linux
|
||||
- linux64-rust-android
|
||||
@@ -44,13 +45,13 @@ job-defaults:
|
||||
- sysroot-x86_64-linux-gnu
|
||||
|
||||
android-arm/debug:
|
||||
description: "Android 5.0 Arm Debug"
|
||||
description: "Android 4.0 Arm Debug"
|
||||
index:
|
||||
job-name: android-arm-debug
|
||||
attributes:
|
||||
enable-full-crashsymbols: true
|
||||
treeherder:
|
||||
platform: android-5-0-armv7/debug
|
||||
platform: android-4-0-armv7/debug
|
||||
symbol: B
|
||||
worker-type: b-linux
|
||||
worker:
|
||||
@@ -66,40 +67,15 @@ android-arm/debug:
|
||||
toolchain:
|
||||
- linux64-clang
|
||||
- linux64-sccache
|
||||
- android-gradle-dependencies
|
||||
|
||||
android-arm-lite/debug:
|
||||
description: "Android 4.1 Arm Debug Lite"
|
||||
index:
|
||||
job-name: android-arm-lite-debug
|
||||
attributes:
|
||||
enable-full-crashsymbols: true
|
||||
treeherder:
|
||||
platform: android-4-1-armv7/debug
|
||||
symbol: Bl
|
||||
worker-type: b-linux
|
||||
worker:
|
||||
env:
|
||||
TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
|
||||
run:
|
||||
actions: [get-secrets, build]
|
||||
config: ["builds/releng_base_android_64_builds.py"]
|
||||
custom-build-variant-cfg: arm-lite-debug
|
||||
use-sccache: true
|
||||
fetches:
|
||||
toolchain:
|
||||
- linux64-clang
|
||||
- linux64-sccache
|
||||
- android-gradle-dependencies-lite
|
||||
|
||||
android-x86/opt:
|
||||
description: "Android 5.0 x86 Opt"
|
||||
description: "Android 4.2 x86 Opt"
|
||||
index:
|
||||
job-name: android-x86-opt
|
||||
attributes:
|
||||
enable-full-crashsymbols: true
|
||||
treeherder:
|
||||
platform: android-5-0-x86/opt
|
||||
platform: android-4-2-x86/opt
|
||||
symbol: B
|
||||
run-on-projects: ['integration']
|
||||
worker-type: b-linux
|
||||
@@ -115,40 +91,13 @@ android-x86/opt:
|
||||
toolchain:
|
||||
- linux64-clang
|
||||
- linux64-sccache
|
||||
- android-gradle-dependencies
|
||||
|
||||
android-x86-lite/opt:
|
||||
description: "Android 4.1 x86 Opt"
|
||||
index:
|
||||
job-name: android-x86-lite-opt
|
||||
attributes:
|
||||
enable-full-crashsymbols: true
|
||||
treeherder:
|
||||
platform: android-4-1-x86/opt
|
||||
symbol: Bl
|
||||
run-on-projects: ['integration']
|
||||
worker-type: b-linux
|
||||
worker:
|
||||
env:
|
||||
TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
|
||||
PERFHERDER_EXTRA_OPTIONS: lite
|
||||
run:
|
||||
actions: [get-secrets, build]
|
||||
config: ["builds/releng_base_android_64_builds.py"]
|
||||
custom-build-variant-cfg: x86-lite
|
||||
use-sccache: true
|
||||
fetches:
|
||||
toolchain:
|
||||
- linux64-clang
|
||||
- linux64-sccache
|
||||
- android-gradle-dependencies-lite
|
||||
|
||||
android-x86-fuzzing/debug:
|
||||
description: "Android x86 Fuzzing Debug"
|
||||
index:
|
||||
job-name: android-x86-fuzzing-debug
|
||||
treeherder:
|
||||
platform: android-4-1-x86/debug
|
||||
platform: android-4-2-x86/debug
|
||||
symbol: Bf
|
||||
worker-type: b-linux
|
||||
worker:
|
||||
@@ -163,12 +112,11 @@ android-x86-fuzzing/debug:
|
||||
toolchain:
|
||||
- linux64-clang
|
||||
- linux64-sccache
|
||||
- android-gradle-dependencies
|
||||
optimization:
|
||||
skip-unless-expanded: null
|
||||
|
||||
android-x86-shippable/opt:
|
||||
description: "Android 5.0 x86 Shippable"
|
||||
description: "Android 4.2 x86 Shippable"
|
||||
attributes:
|
||||
enable-full-crashsymbols: true
|
||||
shippable: true
|
||||
@@ -178,7 +126,7 @@ android-x86-shippable/opt:
|
||||
job-name: android-x86-opt
|
||||
type: android-shippable
|
||||
treeherder:
|
||||
platform: android-5-0-x86-shippable/opt
|
||||
platform: android-4-2-x86-shippable/opt
|
||||
symbol: B
|
||||
run-on-projects: ['release']
|
||||
worker-type: b-linux
|
||||
@@ -195,46 +143,15 @@ android-x86-shippable/opt:
|
||||
fetches:
|
||||
toolchain:
|
||||
- linux64-clang
|
||||
- android-gradle-dependencies
|
||||
|
||||
android-x86-shippable-lite/opt:
|
||||
description: "Android 4.1 x86 Shippable Lite"
|
||||
attributes:
|
||||
enable-full-crashsymbols: true
|
||||
shippable: true
|
||||
shipping-phase: build
|
||||
shipping-product: fennec
|
||||
index:
|
||||
job-name: android-x86-lite-opt
|
||||
type: android-shippable
|
||||
treeherder:
|
||||
platform: android-4-1-x86-shippable-lite/opt
|
||||
symbol: Bl
|
||||
run-on-projects: ['release']
|
||||
worker-type: b-linux
|
||||
worker:
|
||||
env:
|
||||
TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
|
||||
MOZ_AUTOMATION_PACKAGE_TESTS: "1"
|
||||
run:
|
||||
actions: [get-secrets, build, multi-l10n]
|
||||
config:
|
||||
- builds/releng_base_android_64_builds.py
|
||||
- taskcluster_nightly.py
|
||||
custom-build-variant-cfg: x86-lite
|
||||
fetches:
|
||||
toolchain:
|
||||
- linux64-clang
|
||||
- android-gradle-dependencies-lite
|
||||
|
||||
android-arm/opt:
|
||||
description: "Android 5.0 Arm Opt"
|
||||
description: "Android 4.0 Arm Opt"
|
||||
index:
|
||||
job-name: android-arm-opt
|
||||
attributes:
|
||||
enable-full-crashsymbols: true
|
||||
treeherder:
|
||||
platform: android-5-0-armv7/opt
|
||||
platform: android-4-0-armv7/opt
|
||||
symbol: B
|
||||
run-on-projects: ['integration']
|
||||
worker-type: b-linux
|
||||
@@ -250,37 +167,11 @@ android-arm/opt:
|
||||
fetches:
|
||||
toolchain:
|
||||
- linux64-clang
|
||||
- android-gradle-dependencies
|
||||
- linux64-sccache
|
||||
|
||||
android-arm-lite/opt:
|
||||
description: "Android 4.1 Arm Opt Lite"
|
||||
index:
|
||||
job-name: android-arm-lite-opt
|
||||
attributes:
|
||||
enable-full-crashsymbols: true
|
||||
treeherder:
|
||||
platform: android-4-1-armv7/opt
|
||||
symbol: Bl
|
||||
run-on-projects: ['integration']
|
||||
worker-type: b-linux
|
||||
worker:
|
||||
env:
|
||||
TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
|
||||
run:
|
||||
actions: [get-secrets, build]
|
||||
config: ["builds/releng_base_android_64_builds.py"]
|
||||
custom-build-variant-cfg: arm-lite
|
||||
use-sccache: true
|
||||
fetches:
|
||||
toolchain:
|
||||
- linux64-clang
|
||||
- linux64-sccache
|
||||
- android-gradle-dependencies-lite
|
||||
|
||||
android-arm-shippable/opt:
|
||||
description: "Android 5.0 Arm Shippable"
|
||||
use-pgo: android-x86-shippable/opt
|
||||
description: "Android 4.0 Arm Shippable"
|
||||
use-pgo: true
|
||||
attributes:
|
||||
enable-full-crashsymbols: true
|
||||
shippable: true
|
||||
@@ -290,7 +181,7 @@ android-arm-shippable/opt:
|
||||
job-name: android-arm-opt
|
||||
type: android-shippable-with-multi-l10n
|
||||
treeherder:
|
||||
platform: android-5-0-armv7-shippable/opt
|
||||
platform: android-4-0-armv7-shippable/opt
|
||||
symbol: Bpgo(B)
|
||||
run-on-projects: ['release']
|
||||
worker-type: b-linux
|
||||
@@ -307,38 +198,6 @@ android-arm-shippable/opt:
|
||||
fetches:
|
||||
toolchain:
|
||||
- linux64-clang
|
||||
- android-gradle-dependencies
|
||||
|
||||
android-arm-shippable-lite/opt:
|
||||
description: "Android 4.1 Arm Shippable Lite"
|
||||
use-pgo: android-x86-shippable/opt
|
||||
attributes:
|
||||
enable-full-crashsymbols: true
|
||||
shippable: true
|
||||
shipping-phase: build
|
||||
shipping-product: fennec
|
||||
index:
|
||||
job-name: android-arm-lite-opt
|
||||
type: android-shippable-with-multi-l10n
|
||||
treeherder:
|
||||
platform: android-4-1-armv7-shippable-lite/opt
|
||||
symbol: Bpgo(Bl)
|
||||
run-on-projects: ['release']
|
||||
worker-type: b-linux
|
||||
worker:
|
||||
env:
|
||||
TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
|
||||
MOZ_AUTOMATION_PACKAGE_TESTS: "1"
|
||||
run:
|
||||
actions: [get-secrets, build, multi-l10n]
|
||||
config:
|
||||
- builds/releng_base_android_64_builds.py
|
||||
- taskcluster_nightly.py
|
||||
custom-build-variant-cfg: arm-lite
|
||||
fetches:
|
||||
toolchain:
|
||||
- linux64-clang
|
||||
- android-gradle-dependencies-lite
|
||||
|
||||
android-aarch64/opt:
|
||||
description: "Android 5.0 AArch64 Opt"
|
||||
@@ -364,33 +223,6 @@ android-aarch64/opt:
|
||||
toolchain:
|
||||
- linux64-clang
|
||||
- linux64-sccache
|
||||
- android-gradle-dependencies
|
||||
|
||||
android-aarch64-lite/opt:
|
||||
description: "Android 5.0 AArch64 Opt Lite"
|
||||
index:
|
||||
job-name: android-aarch64-lite-opt
|
||||
attributes:
|
||||
enable-full-crashsymbols: true
|
||||
treeherder:
|
||||
platform: android-5-0-aarch64/opt
|
||||
symbol: Bl
|
||||
run-on-projects: ['integration']
|
||||
worker-type: b-linux
|
||||
worker:
|
||||
env:
|
||||
TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
|
||||
PERFHERDER_EXTRA_OPTIONS: lite
|
||||
run:
|
||||
actions: [get-secrets, build]
|
||||
config: ["builds/releng_base_android_64_builds.py"]
|
||||
custom-build-variant-cfg: aarch64-lite
|
||||
use-sccache: true
|
||||
fetches:
|
||||
toolchain:
|
||||
- linux64-clang
|
||||
- linux64-sccache
|
||||
- android-gradle-dependencies-lite
|
||||
|
||||
android-aarch64/debug:
|
||||
description: "Android 5.0 AArch64 Debug"
|
||||
@@ -415,36 +247,10 @@ android-aarch64/debug:
|
||||
toolchain:
|
||||
- linux64-clang
|
||||
- linux64-sccache
|
||||
- android-gradle-dependencies
|
||||
|
||||
android-aarch64-lite/debug:
|
||||
description: "Android 5.0 AArch64 Debug Lite"
|
||||
index:
|
||||
job-name: android-aarch64-lite-debug
|
||||
attributes:
|
||||
enable-full-crashsymbols: true
|
||||
treeherder:
|
||||
platform: android-5-0-aarch64/debug
|
||||
symbol: Bl
|
||||
worker-type: b-linux
|
||||
worker:
|
||||
env:
|
||||
TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
|
||||
PERFHERDER_EXTRA_OPTIONS: lite
|
||||
run:
|
||||
actions: [get-secrets, build]
|
||||
config: ["builds/releng_base_android_64_builds.py"]
|
||||
custom-build-variant-cfg: aarch64-lite-debug
|
||||
use-sccache: true
|
||||
fetches:
|
||||
toolchain:
|
||||
- linux64-clang
|
||||
- linux64-sccache
|
||||
- android-gradle-dependencies-lite
|
||||
|
||||
android-aarch64-shippable/opt:
|
||||
description: "Android 5.0 AArch64 Shippable"
|
||||
use-pgo: android-x86_64-shippable/opt
|
||||
use-pgo: android-arm-shippable/opt
|
||||
attributes:
|
||||
enable-full-crashsymbols: true
|
||||
shippable: true
|
||||
@@ -471,39 +277,6 @@ android-aarch64-shippable/opt:
|
||||
fetches:
|
||||
toolchain:
|
||||
- linux64-clang
|
||||
- android-gradle-dependencies
|
||||
|
||||
android-aarch64-shippable-lite/opt:
|
||||
description: "Android 5.0 AArch64 Shippable Lite"
|
||||
use-pgo: android-x86_64-shippable/opt
|
||||
attributes:
|
||||
enable-full-crashsymbols: true
|
||||
shippable: true
|
||||
shipping-phase: build
|
||||
shipping-product: fennec
|
||||
index:
|
||||
job-name: android-aarch64-lite-opt
|
||||
type: android-shippable
|
||||
treeherder:
|
||||
platform: android-5-0-aarch64-shippable-lite/opt
|
||||
symbol: Bpgo(Bl)
|
||||
run-on-projects: ['release']
|
||||
worker-type: b-linux
|
||||
worker:
|
||||
env:
|
||||
TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
|
||||
MOZ_AUTOMATION_PACKAGE_TESTS: "1"
|
||||
PERFHERDER_EXTRA_OPTIONS: lite
|
||||
run:
|
||||
actions: [get-secrets, build, multi-l10n]
|
||||
config:
|
||||
- builds/releng_base_android_64_builds.py
|
||||
- taskcluster_nightly.py
|
||||
custom-build-variant-cfg: aarch64-lite
|
||||
fetches:
|
||||
toolchain:
|
||||
- linux64-clang
|
||||
- android-gradle-dependencies-lite
|
||||
|
||||
android-x86_64/opt:
|
||||
description: "Android 5.0 x86-64 Opt"
|
||||
@@ -529,34 +302,6 @@ android-x86_64/opt:
|
||||
toolchain:
|
||||
- linux64-clang
|
||||
- linux64-sccache
|
||||
- android-gradle-dependencies
|
||||
|
||||
android-x86_64-lite/opt:
|
||||
description: "Android 5.0 x86-64 Opt Lite"
|
||||
index:
|
||||
job-name: android-x86_64-lite-opt
|
||||
attributes:
|
||||
enable-full-crashsymbols: true
|
||||
treeherder:
|
||||
platform: android-5-0-x86_64/opt
|
||||
symbol: Bl
|
||||
run-on-projects: ['integration']
|
||||
worker-type: b-linux
|
||||
worker:
|
||||
env:
|
||||
TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
|
||||
MOZ_AUTOMATION_PACKAGE_TESTS: "1"
|
||||
PERFHERDER_EXTRA_OPTIONS: lite
|
||||
run:
|
||||
actions: [get-secrets, build]
|
||||
config: ["builds/releng_base_android_64_builds.py"]
|
||||
custom-build-variant-cfg: x86_64-lite
|
||||
use-sccache: true
|
||||
fetches:
|
||||
toolchain:
|
||||
- linux64-clang
|
||||
- linux64-sccache
|
||||
- android-gradle-dependencies-lite
|
||||
|
||||
android-x86_64-shippable/opt:
|
||||
description: "Android 5.0 x86-64 Shippable"
|
||||
@@ -586,38 +331,6 @@ android-x86_64-shippable/opt:
|
||||
fetches:
|
||||
toolchain:
|
||||
- linux64-clang
|
||||
- android-gradle-dependencies
|
||||
|
||||
android-x86_64-shippable-lite/opt:
|
||||
description: "Android 5.0 x86-64 Shippable Lite"
|
||||
attributes:
|
||||
enable-full-crashsymbols: true
|
||||
shippable: true
|
||||
shipping-phase: build
|
||||
shipping-product: fennec
|
||||
index:
|
||||
job-name: android-x86_64-lite-opt
|
||||
type: android-shippable
|
||||
treeherder:
|
||||
platform: android-5-0-x86_64-shippable-lite/opt
|
||||
symbol: Bl
|
||||
run-on-projects: ['release']
|
||||
worker-type: b-linux
|
||||
worker:
|
||||
env:
|
||||
TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
|
||||
MOZ_AUTOMATION_PACKAGE_TESTS: "1"
|
||||
PERFHERDER_EXTRA_OPTIONS: lite
|
||||
run:
|
||||
actions: [get-secrets, build, multi-l10n]
|
||||
config:
|
||||
- builds/releng_base_android_64_builds.py
|
||||
- taskcluster_nightly.py
|
||||
custom-build-variant-cfg: x86_64-lite
|
||||
fetches:
|
||||
toolchain:
|
||||
- linux64-clang
|
||||
- android-gradle-dependencies-lite
|
||||
|
||||
android-x86_64/debug:
|
||||
description: "Android 5.0 x86-64 Debug"
|
||||
@@ -642,33 +355,6 @@ android-x86_64/debug:
|
||||
toolchain:
|
||||
- linux64-clang
|
||||
- linux64-sccache
|
||||
- android-gradle-dependencies
|
||||
|
||||
android-x86_64-lite/debug:
|
||||
description: "Android 5.0 x86-64 Debug Lite"
|
||||
index:
|
||||
job-name: android-x86_64-lite-debug
|
||||
attributes:
|
||||
enable-full-crashsymbols: true
|
||||
treeherder:
|
||||
platform: android-5-0-x86_64/debug
|
||||
symbol: Bl
|
||||
worker-type: b-linux
|
||||
worker:
|
||||
env:
|
||||
TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android-x86/releng.manifest"
|
||||
MOZ_AUTOMATION_PACKAGE_TESTS: "1"
|
||||
PERFHERDER_EXTRA_OPTIONS: lite
|
||||
run:
|
||||
actions: [get-secrets, build]
|
||||
config: ["builds/releng_base_android_64_builds.py"]
|
||||
custom-build-variant-cfg: x86_64-lite-debug
|
||||
use-sccache: true
|
||||
fetches:
|
||||
toolchain:
|
||||
- linux64-clang
|
||||
- linux64-sccache
|
||||
- android-gradle-dependencies-lite
|
||||
|
||||
android-x86_64/debug-isolated-process:
|
||||
description: "Android 5.0 x86-64 Debug with Isolated Process"
|
||||
@@ -694,16 +380,15 @@ android-x86_64/debug-isolated-process:
|
||||
toolchain:
|
||||
- linux64-clang
|
||||
- linux64-sccache
|
||||
- android-gradle-dependencies
|
||||
|
||||
android-arm-gcp/debug:
|
||||
description: "Android 5.0 Arm Debug - built on GCP"
|
||||
description: "Android 4.0 Arm Debug - built on GCP"
|
||||
index:
|
||||
job-name: android-arm-gcp-debug
|
||||
attributes:
|
||||
enable-full-crashsymbols: true
|
||||
treeherder:
|
||||
platform: android-5-0-armv7/debug
|
||||
platform: android-4-0-armv7/debug
|
||||
symbol: B-gcp
|
||||
tier: 2
|
||||
worker-type: b-linux-gcp
|
||||
@@ -720,19 +405,18 @@ android-arm-gcp/debug:
|
||||
toolchain:
|
||||
- linux64-clang
|
||||
- linux64-sccache
|
||||
- android-gradle-dependencies
|
||||
optimization:
|
||||
skip-unless-backstop: null
|
||||
|
||||
|
||||
android-x86-gcp/opt:
|
||||
description: "Android 5.0 x86 Opt - built on GCP"
|
||||
description: "Android 4.2 x86 Opt - built on GCP"
|
||||
index:
|
||||
job-name: android-x86-gcp-opt
|
||||
attributes:
|
||||
enable-full-crashsymbols: true
|
||||
treeherder:
|
||||
platform: android-5-0-x86/opt
|
||||
platform: android-4-2-x86/opt
|
||||
symbol: B-gcp
|
||||
tier: 2
|
||||
worker-type: b-linux-gcp
|
||||
@@ -749,18 +433,17 @@ android-x86-gcp/opt:
|
||||
toolchain:
|
||||
- linux64-clang
|
||||
- linux64-sccache
|
||||
- android-gradle-dependencies
|
||||
optimization:
|
||||
skip-unless-backstop: null
|
||||
|
||||
android-arm-gcp/opt:
|
||||
description: "Android 5.0 Arm Opt - built on GCP"
|
||||
description: "Android 4.0 Arm Opt - built on GCP"
|
||||
index:
|
||||
job-name: android-arm-gcp-opt
|
||||
attributes:
|
||||
enable-full-crashsymbols: true
|
||||
treeherder:
|
||||
platform: android-5-0-armv7/opt
|
||||
platform: android-4-0-armv7/opt
|
||||
symbol: B-gcp
|
||||
tier: 2
|
||||
worker-type: b-linux-gcp
|
||||
@@ -777,7 +460,6 @@ android-arm-gcp/opt:
|
||||
toolchain:
|
||||
- linux64-clang
|
||||
- linux64-sccache
|
||||
- android-gradle-dependencies
|
||||
optimization:
|
||||
skip-unless-backstop: null
|
||||
|
||||
@@ -805,7 +487,6 @@ android-aarch64-gcp/opt:
|
||||
toolchain:
|
||||
- linux64-clang
|
||||
- linux64-sccache
|
||||
- android-gradle-dependencies
|
||||
optimization:
|
||||
skip-unless-backstop: null
|
||||
|
||||
@@ -833,7 +514,6 @@ android-aarch64-gcp/debug:
|
||||
toolchain:
|
||||
- linux64-clang
|
||||
- linux64-sccache
|
||||
- android-gradle-dependencies
|
||||
optimization:
|
||||
skip-unless-backstop: null
|
||||
|
||||
@@ -861,7 +541,6 @@ android-x86_64-gcp/opt:
|
||||
toolchain:
|
||||
- linux64-clang
|
||||
- linux64-sccache
|
||||
- android-gradle-dependencies
|
||||
optimization:
|
||||
skip-unless-backstop: null
|
||||
|
||||
@@ -887,7 +566,6 @@ android-x86_64-gcp/debug:
|
||||
fetches:
|
||||
toolchain:
|
||||
- linux64-clang
|
||||
- android-gradle-dependencies
|
||||
optimization:
|
||||
skip-unless-backstop: null
|
||||
|
||||
@@ -911,6 +589,5 @@ android-x86_64-asan-fuzzing/opt:
|
||||
toolchain:
|
||||
- linux64-clang-android-cross
|
||||
- linux64-sccache
|
||||
- android-gradle-dependencies
|
||||
optimization:
|
||||
skip-unless-expanded: null
|
||||
|
||||
@@ -85,15 +85,15 @@ jobs:
|
||||
- linux64-clang
|
||||
- linux64-minidump-stackwalk
|
||||
|
||||
android-x86-shippable/opt:
|
||||
description: "Android 5.0 x86 Profile Generation"
|
||||
android-arm-shippable/opt:
|
||||
description: "Android 4.0 Arm Profile Generation"
|
||||
shipping-phase: build
|
||||
shipping-product: fennec
|
||||
index:
|
||||
product: mobile
|
||||
job-name: android-x86-profile
|
||||
job-name: android-arm-profile
|
||||
treeherder:
|
||||
platform: android-5-0-x86/pgo
|
||||
platform: android-4-0-armv7/pgo
|
||||
worker-type: t-linux-xlarge-pgo
|
||||
worker:
|
||||
chain-of-trust: true
|
||||
@@ -115,55 +115,12 @@ jobs:
|
||||
options: [installer-path=/builds/worker/fetches/geckoview-androidTest.apk]
|
||||
config:
|
||||
- android/android_common.py
|
||||
- android/android-x86_64-profile-generation.py
|
||||
- android/androidarm_4_3.py
|
||||
- android/android_pgo.py
|
||||
fetches:
|
||||
toolchain:
|
||||
- linux64-clang
|
||||
- linux64-minidump-stackwalk
|
||||
- android-sdk-linux
|
||||
- android-system-image-x86_64-linux
|
||||
- android-avd-x86_64-linux
|
||||
|
||||
android-x86_64-shippable/opt:
|
||||
description: "Android 5.0 x86_64 Profile Generation"
|
||||
shipping-phase: build
|
||||
shipping-product: fennec
|
||||
index:
|
||||
product: mobile
|
||||
job-name: android-x86_64-profile
|
||||
treeherder:
|
||||
platform: android-5-0-x86_64/pgo
|
||||
worker-type: t-linux-xlarge-pgo
|
||||
worker:
|
||||
chain-of-trust: true
|
||||
max-run-time: 2700
|
||||
docker-image: {in-tree: ubuntu1804-test}
|
||||
env:
|
||||
WORKING_DIR: "/builds/worker"
|
||||
MOZHARNESS_PATH: "/builds/worker/checkouts/gecko/testing/mozharness"
|
||||
artifacts:
|
||||
- type: directory
|
||||
name: public/build
|
||||
path: /builds/worker/artifacts/
|
||||
run:
|
||||
using: mozharness
|
||||
need-xvfb: true
|
||||
job-script: taskcluster/scripts/tester/test-linux.sh
|
||||
script: android_emulator_pgo.py
|
||||
tooltool-downloads: internal
|
||||
options: [installer-path=/builds/worker/fetches/geckoview-androidTest.apk]
|
||||
config:
|
||||
- android/android_common.py
|
||||
- android/android-x86_64-profile-generation.py
|
||||
- android/android_pgo.py
|
||||
fetches:
|
||||
toolchain:
|
||||
- linux64-clang
|
||||
- linux64-minidump-stackwalk
|
||||
- android-sdk-linux
|
||||
- android-system-image-x86_64-linux
|
||||
- android-avd-x86_64-linux
|
||||
|
||||
win32-shippable/opt:
|
||||
description: "Win32 Profile Generation"
|
||||
|
||||
@@ -137,14 +137,14 @@ jobs:
|
||||
- sysroot-x86_64-linux-gnu
|
||||
- wasi-sysroot
|
||||
|
||||
android-x86-shippable/opt:
|
||||
description: "Android 5.0 x86 PGO instrumented"
|
||||
android-arm-shippable/opt:
|
||||
description: "Android 4.0 Arm PGO instrumented"
|
||||
index:
|
||||
product: mobile
|
||||
job-name: instrumented-android-x86
|
||||
job-name: instrumented-android-arm
|
||||
shipping-product: fennec
|
||||
treeherder:
|
||||
platform: android-5-0-x86/pgo
|
||||
platform: android-4-0-armv7/pgo
|
||||
worker-type: b-linux
|
||||
worker:
|
||||
docker-image: {in-tree: android-build}
|
||||
@@ -164,50 +164,7 @@ jobs:
|
||||
run:
|
||||
config:
|
||||
- builds/releng_base_android_64_builds.py
|
||||
custom-build-variant-cfg: x86-profile-generate
|
||||
tooltool-downloads: internal
|
||||
fetches:
|
||||
toolchain:
|
||||
- android-gradle-dependencies
|
||||
- android-ndk-linux
|
||||
- android-sdk-linux
|
||||
- linux64-clang-android-cross
|
||||
- linux64-rust-android
|
||||
- linux64-rust-size
|
||||
- linux64-cbindgen
|
||||
- linux64-dump_syms
|
||||
- linux64-nasm
|
||||
- linux64-node
|
||||
- sysroot-x86_64-linux-gnu
|
||||
|
||||
android-x86_64-shippable/opt:
|
||||
description: "Android 5.0 x86_64 PGO instrumented"
|
||||
index:
|
||||
product: mobile
|
||||
job-name: instrumented-android-x86_64
|
||||
shipping-product: fennec
|
||||
treeherder:
|
||||
platform: android-5-0-x86_64/pgo
|
||||
worker-type: b-linux
|
||||
worker:
|
||||
docker-image: {in-tree: android-build}
|
||||
env:
|
||||
GRADLE_USER_HOME: "/builds/worker/checkouts/gecko/mobile/android/gradle/dotgradle-offline"
|
||||
TOOLTOOL_MANIFEST: "mobile/android/config/tooltool-manifests/android/releng.manifest"
|
||||
artifacts:
|
||||
- name: public/build
|
||||
path: /builds/worker/artifacts/
|
||||
type: directory
|
||||
- name: public/build/geckoview-androidTest.apk
|
||||
path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview/outputs/apk/androidTest/withGeckoBinaries/debug/geckoview-withGeckoBinaries-debug-androidTest.apk
|
||||
type: file
|
||||
- name: public/build/geckoview_example.apk
|
||||
path: /builds/worker/workspace/obj-build/gradle/build/mobile/android/geckoview_example/outputs/apk/withGeckoBinaries/debug/geckoview_example-withGeckoBinaries-debug.apk
|
||||
type: file
|
||||
run:
|
||||
config:
|
||||
- builds/releng_base_android_64_builds.py
|
||||
custom-build-variant-cfg: x86_64-profile-generate
|
||||
custom-build-variant-cfg: arm-profile-generate
|
||||
tooltool-downloads: internal
|
||||
fetches:
|
||||
toolchain:
|
||||
|
||||
@@ -159,7 +159,7 @@ jobs:
|
||||
index:
|
||||
job-name: android-armv7-searchfox-debug
|
||||
treeherder:
|
||||
platform: android-4-1-armv7/debug
|
||||
platform: android-4-0-armv7/debug
|
||||
worker-type: b-linux
|
||||
worker:
|
||||
docker-image: {in-tree: android-build}
|
||||
|
||||
@@ -19,7 +19,7 @@ job-defaults:
|
||||
by-test-platform:
|
||||
android-em-7.*:
|
||||
- android/android_common.py
|
||||
- android/android-x86_64.py
|
||||
- android/androidx86_7_0.py
|
||||
android-hw.*:
|
||||
- android/android_common.py
|
||||
- android/android_hw.py
|
||||
|
||||
@@ -63,8 +63,6 @@ job-defaults:
|
||||
- macosx64-minidump-stackwalk
|
||||
- macosx64-fix-stacks
|
||||
android-em-7.*:
|
||||
- android-system-image-x86_64-linux
|
||||
- android-avd-x86_64-linux
|
||||
- android-emulator-linux
|
||||
- linux64-minidump-stackwalk
|
||||
- linux64-fix-stacks
|
||||
|
||||
@@ -26,7 +26,7 @@ geckoview-junit:
|
||||
by-test-platform:
|
||||
android-em-7.*:
|
||||
- android/android_common.py
|
||||
- android/android-x86_64.py
|
||||
- android/androidx86_7_0.py
|
||||
extra-options:
|
||||
- --test-suite=geckoview-junit
|
||||
|
||||
@@ -99,7 +99,7 @@ test-verify:
|
||||
by-test-platform:
|
||||
android-em-7.*:
|
||||
- android/android_common.py
|
||||
- android/android-x86_64.py
|
||||
- android/androidx86_7_0.py
|
||||
linux.*:
|
||||
- unittests/linux_unittest.py
|
||||
- remove_executables.py
|
||||
@@ -133,8 +133,6 @@ test-verify:
|
||||
- win32-fix-stacks
|
||||
android-em-7.*:
|
||||
- android-sdk-linux
|
||||
- android-system-image-x86_64-linux
|
||||
- android-avd-x86_64-linux
|
||||
- linux64-node
|
||||
- linux64-minidump-stackwalk
|
||||
- linux64-fix-stacks
|
||||
@@ -173,7 +171,7 @@ test-verify-gpu:
|
||||
by-test-platform:
|
||||
android-em-7.*:
|
||||
- android/android_common.py
|
||||
- android/android-x86_64.py
|
||||
- android/androidx86_7_0.py
|
||||
linux.*:
|
||||
- unittests/linux_unittest.py
|
||||
- remove_executables.py
|
||||
@@ -210,7 +208,7 @@ test-coverage:
|
||||
by-test-platform:
|
||||
android-em-7.*:
|
||||
- android/android_common.py
|
||||
- android/android-x86_64.py
|
||||
- android/androidx86_7_0.py
|
||||
linux.*:
|
||||
- unittests/linux_unittest.py
|
||||
- remove_executables.py
|
||||
@@ -244,8 +242,6 @@ test-coverage:
|
||||
- win32-fix-stacks
|
||||
android-em-7.*:
|
||||
- android-sdk-linux
|
||||
- android-system-image-x86_64-linux
|
||||
- android-avd-x86_64-linux
|
||||
- linux64-node
|
||||
- linux64-minidump-stackwalk
|
||||
- linux64-fix-stacks
|
||||
@@ -280,7 +276,7 @@ test-coverage-gpu:
|
||||
by-test-platform:
|
||||
android-em-7.*:
|
||||
- android/android_common.py
|
||||
- android/android-x86_64.py
|
||||
- android/androidx86_7_0.py
|
||||
linux.*:
|
||||
- unittests/linux_unittest.py
|
||||
- remove_executables.py
|
||||
|
||||
@@ -36,7 +36,7 @@ job-defaults:
|
||||
by-test-platform:
|
||||
android-em-7.*:
|
||||
- android/android_common.py
|
||||
- android/android-x86_64.py
|
||||
- android/androidx86_7_0.py
|
||||
android-hw.*:
|
||||
- android/android_common.py
|
||||
- android/android_hw.py
|
||||
|
||||
@@ -27,7 +27,7 @@ job-defaults:
|
||||
by-test-platform:
|
||||
android-em-7.*:
|
||||
- android/android_common.py
|
||||
- android/android-x86_64.py
|
||||
- android/androidx86_7_0.py
|
||||
android-hw.*:
|
||||
- android/android_common.py
|
||||
- android/android_hw.py
|
||||
|
||||
@@ -419,34 +419,17 @@ android-em-7.0-x86_64/opt:
|
||||
- android-x86_64-tests
|
||||
- web-platform-tests-backlog
|
||||
|
||||
android-em-7.0-x86_64-lite/opt:
|
||||
build-platform: android-x86_64-lite/opt
|
||||
test-sets:
|
||||
- android-x86_64-tests
|
||||
- web-platform-tests-backlog
|
||||
|
||||
android-em-7.0-x86_64-shippable/opt:
|
||||
build-platform: android-x86_64-shippable/opt
|
||||
test-sets:
|
||||
- android-x86_64-tests
|
||||
- web-platform-tests-backlog
|
||||
|
||||
android-em-7.0-x86_64-shippable-lite/opt:
|
||||
build-platform: android-x86_64-shippable-lite/opt
|
||||
test-sets:
|
||||
- android-x86_64-tests
|
||||
- web-platform-tests-backlog
|
||||
|
||||
android-em-7.0-x86_64/debug:
|
||||
build-platform: android-x86_64/debug
|
||||
test-sets:
|
||||
- android-x86_64-tests
|
||||
|
||||
android-em-7.0-x86_64-lite/debug:
|
||||
build-platform: android-x86_64-lite/debug
|
||||
test-sets:
|
||||
- android-x86_64-tests
|
||||
|
||||
android-em-7.0-x86_64/debug-isolated-process:
|
||||
build-platform: android-x86_64/debug-isolated-process
|
||||
test-sets:
|
||||
|
||||
@@ -26,16 +26,16 @@ job-defaults:
|
||||
macosx.*:
|
||||
- web_platform_tests/prod_config_mac.py
|
||||
android-em.*:
|
||||
- android/android-x86_64.py
|
||||
- android/androidx86_7_0.py
|
||||
- web_platform_tests/prod_config_android.py
|
||||
default:
|
||||
- web_platform_tests/prod_config.py
|
||||
- remove_executables.py
|
||||
target:
|
||||
by-test-platform:
|
||||
android-em-7.0-x86_64-shippable(-qr|-lite)?/opt: geckoview-androidTest.apk
|
||||
android-em-7.0-x86_64(-qr|-lite)?/opt: geckoview-androidTest.apk
|
||||
android-em-7.0-x86_64(-qr|-lite)?/debug(-isolated-process)?: geckoview-androidTest.apk
|
||||
android-em-7.0-x86_64-shippable(-qr)?/opt: geckoview-androidTest.apk
|
||||
android-em-7.0-x86_64(-qr)?/opt: geckoview-androidTest.apk
|
||||
android-em-7.0-x86_64(-qr)?/debug(-isolated-process)?: geckoview-androidTest.apk
|
||||
default: null
|
||||
python-3: true
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ job-defaults:
|
||||
by-test-platform:
|
||||
android-em-7.*:
|
||||
- android/android_common.py
|
||||
- android/android-x86_64.py
|
||||
- android/androidx86_7_0.py
|
||||
linux.*:
|
||||
- unittests/linux_unittest.py
|
||||
- remove_executables.py
|
||||
@@ -101,8 +101,6 @@ xpcshell:
|
||||
- win32-minidump-stackwalk
|
||||
- win32-fix-stacks
|
||||
android-em-7.*:
|
||||
- android-system-image-x86_64-linux
|
||||
- android-avd-x86_64-linux
|
||||
- android-emulator-linux
|
||||
- linux64-node
|
||||
- linux64-minidump-stackwalk
|
||||
|
||||
@@ -8,64 +8,6 @@ job-defaults:
|
||||
docker-image: {in-tree: android-build}
|
||||
max-run-time: 1800
|
||||
|
||||
# In automation, we generate the AVD using the linux64-android-avd jobs. On
|
||||
# developers' machines, bootstrap will download the artifact from the avd job
|
||||
# instead of generating it.
|
||||
#
|
||||
# The Android AVD needs the corresponding system image generated in the
|
||||
# linux64-android-system-image TL job. System images are not redistributable,
|
||||
# so locally bootstrap will use sdkmanager to download the corresponding system
|
||||
# images.
|
||||
linux64-android-avd-x86_64-repack:
|
||||
attributes:
|
||||
local-toolchain: true
|
||||
description: "Android AVD (Linux) repack toolchain build"
|
||||
treeherder:
|
||||
symbol: TL(avd-x86_64-linux)
|
||||
run-on-projects: [trunk]
|
||||
run:
|
||||
script: repack-android-avd-linux.sh
|
||||
arguments:
|
||||
- 'python/mozboot/mozboot/android-avds/x86_64.json'
|
||||
resources:
|
||||
- 'python/mozboot/**/*android*'
|
||||
toolchain-artifact: public/build/android-avd-linux.tar.zst
|
||||
toolchain-alias: android-avd-x86_64-linux
|
||||
|
||||
linux64-android-avd-arm-repack:
|
||||
attributes:
|
||||
local-toolchain: true
|
||||
description: "Android AVD (Linux) repack toolchain build"
|
||||
treeherder:
|
||||
symbol: TL(avd-arm-linux)
|
||||
run-on-projects: [trunk]
|
||||
run:
|
||||
script: repack-android-avd-linux.sh
|
||||
arguments:
|
||||
- 'python/mozboot/mozboot/android-avds/arm.json'
|
||||
resources:
|
||||
- 'python/mozboot/**/*android*'
|
||||
toolchain-artifact: public/build/android-avd-linux.tar.zst
|
||||
toolchain-alias: android-avd-arm-linux
|
||||
|
||||
linux64-android-system-image-x86_64-repack:
|
||||
description: "Android System Images (Linux) repack toolchain build"
|
||||
treeherder:
|
||||
symbol: TL(x86_64-avd-img-linux)
|
||||
worker:
|
||||
artifacts:
|
||||
- name: project/gecko/android-system-images
|
||||
path: /builds/worker/project/gecko/android-system-images/
|
||||
type: directory
|
||||
run:
|
||||
script: repack-android-system-images-linux.sh
|
||||
arguments:
|
||||
- 'python/mozboot/mozboot/android-avds/x86_64.json'
|
||||
resources:
|
||||
- 'python/mozboot/**/*android*'
|
||||
toolchain-artifact: project/gecko/android-system-images/android-system-images-linux.tar.zst
|
||||
toolchain-alias: android-system-image-x86_64-linux
|
||||
|
||||
linux64-android-sdk-linux-repack:
|
||||
description: "Android SDK (Linux) repack toolchain build"
|
||||
treeherder:
|
||||
@@ -140,30 +82,3 @@ linux64-android-gradle-dependencies:
|
||||
# Aliases aren't allowed for toolchains depending on toolchains.
|
||||
- linux64-android-sdk-linux-repack
|
||||
- linux64-node
|
||||
|
||||
linux64-android-gradle-dependencies-lite:
|
||||
description: "Android Lite Gradle dependencies toolchain task"
|
||||
treeherder:
|
||||
symbol: TL(gradle-dependencies-lite)
|
||||
worker:
|
||||
env:
|
||||
GRADLE_USER_HOME: "/builds/worker/workspace/build/src/mobile/android/gradle/dotgradle-online"
|
||||
run:
|
||||
script: android-gradle-dependencies-lite.sh
|
||||
sparse-profile: null
|
||||
resources:
|
||||
- 'taskcluster/scripts/misc/android-gradle-dependencies/**'
|
||||
- '*.gradle'
|
||||
- 'mobile/android/**/*.gradle'
|
||||
- 'mobile/android/config/mozconfigs/android-arm-gradle-dependencies/**'
|
||||
- 'mobile/android/config/mozconfigs/common*'
|
||||
- 'mobile/android/gradle.configure'
|
||||
toolchain-artifact: public/build/android-gradle-dependencies.tar.zst
|
||||
toolchain-alias: android-gradle-dependencies-lite
|
||||
fetches:
|
||||
fetch:
|
||||
- sonatype-nexus
|
||||
toolchain:
|
||||
# Aliases aren't allowed for toolchains depending on toolchains.
|
||||
- linux64-android-sdk-linux-repack
|
||||
- linux64-node
|
||||
|
||||
@@ -271,8 +271,6 @@ jobs:
|
||||
- android-gradle-dependencies
|
||||
- android-ndk-linux
|
||||
- android-sdk-linux
|
||||
- android-system-image-x86_64-linux
|
||||
- android-avd-x86_64-linux
|
||||
- linux64-rust-android
|
||||
- wrench-deps
|
||||
treeherder:
|
||||
@@ -313,8 +311,6 @@ jobs:
|
||||
- android-gradle-dependencies
|
||||
- android-ndk-linux
|
||||
- android-sdk-linux
|
||||
- android-system-image-x86_64-linux
|
||||
- android-avd-x86_64-linux
|
||||
- linux64-rust-android
|
||||
- wrench-deps
|
||||
treeherder:
|
||||
@@ -351,8 +347,6 @@ jobs:
|
||||
- 'wrench-debug.apk'
|
||||
toolchain:
|
||||
- android-sdk-linux
|
||||
- android-system-image-x86_64-linux
|
||||
- android-avd-x86_64-linux
|
||||
run:
|
||||
using: run-task
|
||||
tooltool-downloads: internal
|
||||
@@ -395,8 +389,6 @@ jobs:
|
||||
- 'wrench-release.apk'
|
||||
toolchain:
|
||||
- android-sdk-linux
|
||||
- android-system-image-x86_64-linux
|
||||
- android-avd-x86_64-linux
|
||||
run:
|
||||
using: run-task
|
||||
tooltool-downloads: internal
|
||||
|
||||
@@ -31,8 +31,6 @@ RUN apt-get update && \
|
||||
uuid \
|
||||
valgrind \
|
||||
vim \
|
||||
x11-utils \
|
||||
xvfb \
|
||||
wget \
|
||||
zip \
|
||||
zstd
|
||||
|
||||
@@ -59,11 +59,20 @@ Build Platforms
|
||||
Windows 2012 x64 DevEdition, ,
|
||||
Windows MinGW, Tom Ritter, "| the Tor project uses MinGW; make sure we test that for them
|
||||
| Only runs on autoland, m-c and m-esr"
|
||||
Android 4.1 API16+, , "| All Android jobs are for GeckoView. Fenix nightly uses m-c, Fenix beta => m-b, Fenix release => m-r and Focus uses m-r.
|
||||
Android 4.0 API16+, , "| All Android jobs are for GeckoView. Fenix nightly uses m-c, Fenix beta => m-b, Fenix release => m-r and Focus uses m-r.
|
||||
| We run these tests in the CI to make sure that GeckoView tests do not regress."
|
||||
Android 4.1 API16+ Beta, Agi Sferro, To ship/test Android 4.1 on arm v7 CPU
|
||||
Android 4.1 API16+ Release, , To ship/test Android 4.1 on arm v7 CPU
|
||||
Android 4.1 API16+ GeckoView multi-arch fat AAR, ,
|
||||
Android 4.0 API16+ Beta, James Willcox (Snorp), To ship/test Android 4.1 on arm v7 CPU
|
||||
Android 4.0 API16+ Release, , To ship/test Android 4.1 on arm v7 CPU
|
||||
Android 4.0 API16+ GeckoView multi-arch fat AAR, ,
|
||||
Android 4.2 x86, ,
|
||||
Android 4.2 x86 Beta, ,
|
||||
Android 4.2 x86 Release, ,
|
||||
Android 4.2 x86, ,
|
||||
Android 4.2 x86 Beta, ,
|
||||
Android 4.2 x86 Release, ,
|
||||
Android 4.3 API16+, ,
|
||||
Android 4.3 API16+ Beta, ,
|
||||
Android 4.3 API16+ Release, ,
|
||||
Android 5.0 AArch64, ,
|
||||
Android 5.0 AArch64 Beta, ,
|
||||
Android 5.0 AArch64 Release, ,
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
#!/bin/bash -vex
|
||||
|
||||
set -x -e
|
||||
|
||||
echo "running as" $(id)
|
||||
|
||||
set -v
|
||||
|
||||
cd $GECKO_PATH
|
||||
|
||||
. taskcluster/scripts/misc/android-gradle-dependencies/before.sh
|
||||
|
||||
export MOZCONFIG=mobile/android/config/mozconfigs/android-arm-gradle-dependencies/nightly-lite
|
||||
./mach build
|
||||
./mach android gradle-dependencies
|
||||
|
||||
. taskcluster/scripts/misc/android-gradle-dependencies/after.sh
|
||||
@@ -1,30 +0,0 @@
|
||||
#!/bin/bash
|
||||
set -x -e -v
|
||||
|
||||
# Initialize XVFB for the AVD
|
||||
. /builds/worker/scripts/xvfb.sh
|
||||
|
||||
cleanup() {
|
||||
local rv=$?
|
||||
cleanup_xvfb
|
||||
exit $rv
|
||||
}
|
||||
trap cleanup EXIT INT
|
||||
|
||||
start_xvfb '1024x768x24' 2
|
||||
|
||||
# This script is for fetching and repacking the Android SDK (for
|
||||
# Linux), the tools required to produce Android packages.
|
||||
|
||||
UPLOAD_DIR=/builds/worker/artifacts/
|
||||
AVD_JSON_CONFIG="$1"
|
||||
|
||||
mkdir -p $HOME/artifacts $UPLOAD_DIR
|
||||
|
||||
# Populate /builds/worker/.mozbuild/android-device
|
||||
cd $GECKO_PATH
|
||||
./mach python python/mozboot/mozboot/android.py --artifact-mode --prewarm-avd --avd-manifest="$AVD_JSON_CONFIG" --no-interactive --list-packages
|
||||
|
||||
tar cavf $UPLOAD_DIR/android-avd-linux.tar.zst -C /builds/worker/.mozbuild android-device
|
||||
|
||||
ls -al $UPLOAD_DIR
|
||||
@@ -10,7 +10,7 @@ mkdir -p $HOME/artifacts $UPLOAD_DIR
|
||||
|
||||
# Populate /builds/worker/.mozbuild/android-emulator-linux.
|
||||
cd $GECKO_PATH
|
||||
./mach python python/mozboot/mozboot/android.py --emulator-only --no-interactive --list-packages
|
||||
./mach python python/mozboot/mozboot/android.py --emulator-only --no-interactive
|
||||
|
||||
# Remove extra files we don't need
|
||||
rm -rfv /builds/worker/.mozbuild/android-sdk-linux/tools
|
||||
|
||||
@@ -10,7 +10,11 @@ mkdir -p $HOME/artifacts $UPLOAD_DIR
|
||||
|
||||
# Populate /builds/worker/.mozbuild/android-sdk-linux.
|
||||
cd $GECKO_PATH
|
||||
./mach python python/mozboot/mozboot/android.py --artifact-mode --no-interactive --list-packages
|
||||
./mach python python/mozboot/mozboot/android.py --artifact-mode --no-interactive
|
||||
|
||||
# It's nice to have the build logs include the state of the world upon
|
||||
# completion.
|
||||
/builds/worker/.mozbuild/android-sdk-linux/tools/bin/sdkmanager --list
|
||||
|
||||
tar cavf $UPLOAD_DIR/android-sdk-linux.tar.zst -C /builds/worker/.mozbuild android-sdk-linux
|
||||
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
#!/bin/bash
|
||||
set -x -e -v
|
||||
|
||||
# This script is for fetching and repacking the Android SDK (for
|
||||
# Linux), the tools required to produce Android packages.
|
||||
|
||||
AVD_JSON_CONFIG="$1"
|
||||
UPLOAD_DIR=$HOME/project/gecko/android-system-images
|
||||
|
||||
mkdir -p $HOME/artifacts $UPLOAD_DIR
|
||||
|
||||
# Populate /builds/worker/.mozbuild/android-sdk-linux.
|
||||
cd $GECKO_PATH
|
||||
./mach python python/mozboot/mozboot/android.py --artifact-mode --system-images-only --avd-manifest="$AVD_JSON_CONFIG" --no-interactive --list-packages
|
||||
|
||||
tar cavf $UPLOAD_DIR/android-system-images-linux.tar.zst -C /builds/worker/.mozbuild android-sdk-linux/system-images
|
||||
|
||||
ls -al $UPLOAD_DIR
|
||||
@@ -1444,14 +1444,10 @@ def handle_tier(config, tasks):
|
||||
"macosx1015-64-shippable-qr/opt",
|
||||
"macosx1015-64-qr/debug",
|
||||
"android-em-7.0-x86_64-shippable/opt",
|
||||
"android-em-7.0-x86_64-shippable-lite/opt",
|
||||
"android-em-7.0-x86_64/debug",
|
||||
"android-em-7.0-x86_64/debug-isolated-process",
|
||||
"android-em-7.0-x86_64-lite/debug",
|
||||
"android-em-7.0-x86_64/opt",
|
||||
"android-em-7.0-x86_64-lite/opt",
|
||||
"android-em-7.0-x86-shippable/opt",
|
||||
"android-em-7.0-x86-shippable-lite/opt",
|
||||
"android-em-7.0-x86_64-shippable-qr/opt",
|
||||
"android-em-7.0-x86_64-qr/debug",
|
||||
"android-em-7.0-x86_64-qr/opt",
|
||||
|
||||
@@ -16,15 +16,10 @@ _ARTIFACT_ID_PER_PLATFORM = {
|
||||
"android-x86_64-opt": "geckoview-default-x86_64",
|
||||
"android-geckoview-fat-aar-opt": "geckoview-default",
|
||||
"android-aarch64-shippable": "geckoview{update_channel}-arm64-v8a",
|
||||
"android-aarch64-shippable-lite": "geckoview{update_channel}-lite-arm64-v8a",
|
||||
"android-arm-shippable": "geckoview{update_channel}-armeabi-v7a",
|
||||
"android-arm-shippable-lite": "geckoview{update_channel}-lite-armeabi-v7a",
|
||||
"android-x86-shippable": "geckoview{update_channel}-x86",
|
||||
"android-x86-shippable-lite": "geckoview{update_channel}-lite-x86",
|
||||
"android-x86_64-shippable": "geckoview{update_channel}-x86_64",
|
||||
"android-x86_64-shippable-lite": "geckoview{update_channel}-lite-x86_64",
|
||||
"android-geckoview-fat-aar-shippable": "geckoview{update_channel}",
|
||||
"android-geckoview-fat-aar-shippable-lite": "geckoview{update_channel}-lite",
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
[
|
||||
{
|
||||
"size": 136624500,
|
||||
"visibility": "public",
|
||||
"digest": "1fcebe172773704aef5f30a9056b68a8b77d42de26270443dfa0f80d629f89b63e4bf47b23e8641f1aec66db38e1c4ff2fd10bf0fe836438cb476a7bd74de36d",
|
||||
"algorithm": "sha512",
|
||||
"filename": "AVDs-armv7a-android-4.3.1_r1-build-2019-01-22.tar.gz",
|
||||
"unpack": true
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,10 @@
|
||||
[
|
||||
{
|
||||
"algorithm": "sha512",
|
||||
"visibility": "public",
|
||||
"filename": "AVDs-armv7a-android-4.3.1_r1-build-2016-08-02_larger_disk.tar.gz",
|
||||
"unpack": true,
|
||||
"digest": "03e2812cfe9cd733a9094900e36a7fa2e67d948e392ec09b84810134ce0662deaf73f784f5d4ba141d19550c6ad5ca19b7e2ba13b0a51f3540c4648e0be499d5",
|
||||
"size": 130163149
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,10 @@
|
||||
[
|
||||
{
|
||||
"size": 408178881,
|
||||
"visibility": "public",
|
||||
"digest": "7d6a138946e4a45d846bc35f362567871cbb473b19baf2c49dd04cd7c35f0e5299cb98a8995be0f0b54a1b4c241110562a7b863225839a5a5a9d75ee0138ba03",
|
||||
"algorithm": "sha512",
|
||||
"filename": "AVDs-arm64v8a-android-7.0-build-2018-06-07.tar.gz",
|
||||
"unpack": true
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,10 @@
|
||||
[
|
||||
{
|
||||
"algorithm": "sha512",
|
||||
"visibility": "public",
|
||||
"filename": "AVDs-x86-android-7.0-build-2019-04-23.tar.gz",
|
||||
"unpack": true,
|
||||
"digest": "3cc03789aabfc692c76e5ae4ebefa7a5628f386df3c9778af2485a49b2401d4ad66301be6c3d116ff7d3ee747e00ce6332381216f55a7253b6b5b600d059baa2",
|
||||
"size": 445250935
|
||||
}
|
||||
]
|
||||
@@ -0,0 +1,10 @@
|
||||
[
|
||||
{
|
||||
"algorithm": "sha512",
|
||||
"visibility": "public",
|
||||
"filename": "AVDs-x86-android-7.0-build-2019-04-23.tar.gz",
|
||||
"unpack": true,
|
||||
"digest": "3cc03789aabfc692c76e5ae4ebefa7a5628f386df3c9778af2485a49b2401d4ad66301be6c3d116ff7d3ee747e00ce6332381216f55a7253b6b5b600d059baa2",
|
||||
"size": 445250935
|
||||
}
|
||||
]
|
||||
@@ -19,6 +19,7 @@ import time
|
||||
from distutils.spawn import find_executable
|
||||
from enum import Enum
|
||||
|
||||
from mozbuild.base import MozbuildObject
|
||||
from mozdevice import ADBHost, ADBDeviceFactory
|
||||
from six.moves import input, urllib
|
||||
|
||||
@@ -83,9 +84,16 @@ class AvdInfo(object):
|
||||
Simple class to contain an AVD description.
|
||||
"""
|
||||
|
||||
def __init__(self, description, name, extra_args, x86):
|
||||
def __init__(
|
||||
self, description, name, tooltool_manifest, toolchain_job, extra_args, x86
|
||||
):
|
||||
assert not (tooltool_manifest and toolchain_job), (
|
||||
"%s: specify manifest or toolchain job, not both" % description
|
||||
)
|
||||
self.description = description
|
||||
self.name = name
|
||||
self.tooltool_manifest = tooltool_manifest
|
||||
self.toolchain_job = toolchain_job
|
||||
self.extra_args = extra_args
|
||||
self.x86 = x86
|
||||
|
||||
@@ -97,34 +105,19 @@ class AvdInfo(object):
|
||||
and the parameters for each reflect those used in mozharness.
|
||||
"""
|
||||
AVD_DICT = {
|
||||
"arm": AvdInfo(
|
||||
"Android arm",
|
||||
"mozemulator-armeabi-v7a",
|
||||
[
|
||||
"-skip-adb-auth",
|
||||
"-verbose",
|
||||
"-show-kernel",
|
||||
"-ranchu",
|
||||
"-selinux",
|
||||
"permissive",
|
||||
"-memory",
|
||||
"3072",
|
||||
"-cores",
|
||||
"4",
|
||||
"-skin",
|
||||
"800x1280",
|
||||
"-gpu",
|
||||
"on",
|
||||
"-no-snapstorage",
|
||||
"-no-snapshot",
|
||||
"-prop",
|
||||
"ro.test_harness=true",
|
||||
],
|
||||
"arm-4.3": AvdInfo(
|
||||
"Android 4.3",
|
||||
"mozemulator-4.3",
|
||||
"testing/config/tooltool-manifests/androidarm_4_3/mach-emulator.manifest",
|
||||
None,
|
||||
["-skip-adb-auth", "-verbose", "-show-kernel"],
|
||||
False,
|
||||
),
|
||||
"x86_64": AvdInfo(
|
||||
"Android x86_64",
|
||||
"mozemulator-x86_64",
|
||||
"x86-7.0": AvdInfo(
|
||||
"Android 7.0 x86/x86_64",
|
||||
"mozemulator-x86-7.0",
|
||||
"testing/config/tooltool-manifests/androidx86_7_0/mach-emulator.manifest",
|
||||
None,
|
||||
[
|
||||
"-skip-adb-auth",
|
||||
"-verbose",
|
||||
@@ -136,12 +129,6 @@ AVD_DICT = {
|
||||
"3072",
|
||||
"-cores",
|
||||
"4",
|
||||
"-skin",
|
||||
"800x1280",
|
||||
"-prop",
|
||||
"ro.test_harness=true",
|
||||
"-no-snapstorage",
|
||||
"-no-snapshot",
|
||||
],
|
||||
True,
|
||||
),
|
||||
@@ -296,8 +283,8 @@ def verify_android_device(
|
||||
).strip()
|
||||
if response.lower().startswith("y") or response == "":
|
||||
if not emulator.check_avd():
|
||||
_log_info("Android AVD not found, please run |mach bootstrap|")
|
||||
return
|
||||
_log_info("Fetching AVD...")
|
||||
emulator.update_avd()
|
||||
_log_info(
|
||||
"Starting emulator running %s..." % emulator.get_avd_description()
|
||||
)
|
||||
@@ -544,7 +531,7 @@ class AndroidEmulator(object):
|
||||
emulator = AndroidEmulator()
|
||||
if not emulator.is_running() and emulator.is_available():
|
||||
if not emulator.check_avd():
|
||||
print("Android Emulator AVD not found, please run |mach bootstrap|")
|
||||
emulator.update_avd()
|
||||
emulator.start()
|
||||
emulator.wait_for_start()
|
||||
emulator.wait()
|
||||
@@ -594,18 +581,56 @@ class AndroidEmulator(object):
|
||||
found = True
|
||||
return found
|
||||
|
||||
def check_avd(self):
|
||||
def check_avd(self, force=False):
|
||||
"""
|
||||
Determine if the AVD is already installed locally.
|
||||
(This is usually used to determine if update_avd() is likely
|
||||
to require a download.)
|
||||
|
||||
Returns True if the AVD is installed.
|
||||
"""
|
||||
avd = os.path.join(EMULATOR_HOME_DIR, "avd", self.avd_info.name + ".avd")
|
||||
if force and os.path.exists(avd):
|
||||
shutil.rmtree(avd)
|
||||
if os.path.exists(avd):
|
||||
_log_debug("AVD found at %s" % avd)
|
||||
return True
|
||||
return False
|
||||
|
||||
def update_avd(self, force=False):
|
||||
"""
|
||||
If required, update the AVD via tooltool.
|
||||
|
||||
If the AVD directory is not found, or "force" is requested,
|
||||
download the tooltool manifest associated with the AVD and then
|
||||
invoke tooltool.py on the manifest. tooltool.py will download the
|
||||
required archive (unless already present in the local tooltool
|
||||
cache) and install the AVD.
|
||||
"""
|
||||
avd = os.path.join(EMULATOR_HOME_DIR, "avd", self.avd_info.name + ".avd")
|
||||
ini_file = os.path.join(EMULATOR_HOME_DIR, "avd", self.avd_info.name + ".ini")
|
||||
if force and os.path.exists(avd):
|
||||
shutil.rmtree(avd)
|
||||
if force:
|
||||
for f in glob.glob(os.path.join(EMULATOR_HOME_DIR, "AVD*.checksum")):
|
||||
os.remove(f)
|
||||
if not os.path.exists(avd):
|
||||
if os.path.exists(ini_file):
|
||||
os.remove(ini_file)
|
||||
if self.avd_info.tooltool_manifest:
|
||||
path = self.avd_info.tooltool_manifest
|
||||
_get_tooltool_manifest(
|
||||
self.substs, path, EMULATOR_HOME_DIR, "releng.manifest"
|
||||
)
|
||||
_tooltool_fetch(self.substs)
|
||||
elif self.avd_info.toolchain_job:
|
||||
_install_toolchain_artifact(self.avd_info.toolchain_job)
|
||||
else:
|
||||
raise Exception(
|
||||
"either a tooltool manifest or a toolchain job is required"
|
||||
)
|
||||
self._update_avd_paths()
|
||||
|
||||
def start(self, gpu_arg=None):
|
||||
"""
|
||||
Launch the emulator.
|
||||
@@ -620,7 +645,6 @@ class AndroidEmulator(object):
|
||||
auth_file.close()
|
||||
|
||||
env = os.environ
|
||||
env["ANDROID_EMULATOR_HOME"] = EMULATOR_HOME_DIR
|
||||
env["ANDROID_AVD_HOME"] = os.path.join(EMULATOR_HOME_DIR, "avd")
|
||||
command = [self.emulator_path, "-avd", self.avd_info.name]
|
||||
override = os.environ.get("MOZ_EMULATOR_COMMAND_ARGS")
|
||||
@@ -835,10 +859,10 @@ class AndroidEmulator(object):
|
||||
return requested
|
||||
if self.substs:
|
||||
if not self.substs["TARGET_CPU"].startswith("arm"):
|
||||
return "x86_64"
|
||||
return "x86-7.0"
|
||||
else:
|
||||
return "arm"
|
||||
return "x86_64"
|
||||
return "arm-4.3"
|
||||
return "x86-7.0"
|
||||
|
||||
|
||||
def _find_sdk_exe(substs, exe, tools):
|
||||
@@ -988,6 +1012,34 @@ def _tooltool_fetch(substs):
|
||||
_log_warning(str(e))
|
||||
|
||||
|
||||
def _install_toolchain_artifact(toolchain_job, no_unpack=False):
|
||||
build_obj = MozbuildObject.from_environment()
|
||||
mach_binary = os.path.join(build_obj.topsrcdir, "mach")
|
||||
mach_binary = os.path.abspath(mach_binary)
|
||||
if not os.path.exists(mach_binary):
|
||||
raise ValueError("mach not found at %s" % mach_binary)
|
||||
|
||||
# If Python can't figure out what its own executable is, there's little
|
||||
# chance we're going to be able to execute mach on its own, particularly
|
||||
# on Windows.
|
||||
if not sys.executable:
|
||||
raise ValueError("cannot determine path to Python executable")
|
||||
|
||||
cmd = [
|
||||
sys.executable,
|
||||
mach_binary,
|
||||
"artifact",
|
||||
"toolchain",
|
||||
"--from-build",
|
||||
toolchain_job,
|
||||
]
|
||||
|
||||
if no_unpack:
|
||||
cmd += ["--no-unpack"]
|
||||
|
||||
subprocess.check_call(cmd, cwd=EMULATOR_HOME_DIR)
|
||||
|
||||
|
||||
def _get_host_platform():
|
||||
plat = None
|
||||
if "darwin" in str(sys.platform).lower():
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user