Backed out 13 changesets (bug 1709640, bug 1718341) for causing android build bustages. CLOSED TREE

Backed out changeset 20645ae32b84 (bug 1709640)
Backed out changeset 7c45682a8f98 (bug 1709640)
Backed out changeset 667e768fd75e (bug 1709640)
Backed out changeset f072adb45b85 (bug 1718341)
Backed out changeset cf443dddb5f5 (bug 1718341)
Backed out changeset 09d3d3e4ce7d (bug 1718341)
Backed out changeset 2b47cc469477 (bug 1718341)
Backed out changeset 8ec277361e46 (bug 1718341)
Backed out changeset b6c4c82d3efc (bug 1718341)
Backed out changeset 8afb8fcd0dc3 (bug 1718341)
Backed out changeset 7723d3a9ba7f (bug 1718341)
Backed out changeset f33b120a77d0 (bug 1718341)
Backed out changeset e7bf6deac270 (bug 1718341)
This commit is contained in:
Butkovits Atila 2021-07-17 01:02:51 +03:00
parent 407f1ae5ac
commit df5b6f3929
127 changed files with 656 additions and 1756 deletions

View File

@ -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

View File

@ -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]

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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"

View File

@ -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"

View File

@ -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

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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

View File

@ -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"

View File

@ -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

View File

@ -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

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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

View File

@ -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"

View File

@ -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"

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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"

View File

@ -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"

View File

@ -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

View File

@ -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"

View File

@ -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"

View File

@ -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"

View File

@ -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

View File

@ -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

View File

@ -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) {

View File

@ -479,17 +479,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."
@ -499,6 +504,7 @@ class AndroidEmulatorCommands(MachCommandBase):
command_context,
version,
wait=False,
force_update=False,
gpu=None,
verbose=False,
):
@ -533,6 +539,15 @@ class AndroidEmulatorCommands(MachCommandBase):
)
return 2
if not emulator.check_avd(force_update):
self.log(
logging.INFO,
"emulator",
{},
"Fetching and installing AVD. This may take a few minutes...",
)
emulator.update_avd(force_update)
self.log(
logging.INFO,
"emulator",

View File

@ -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)

View File

@ -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)

View File

@ -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"
}
}

View File

@ -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"
}
}

View File

@ -1,3 +1,4 @@
platform-tools
build-tools;30.0.2
platforms;android-30
emulator

View File

@ -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)

View File

@ -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()

View File

@ -210,14 +210,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
@ -264,23 +256,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

View File

@ -249,9 +249,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
@ -266,10 +264,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"):
@ -390,9 +384,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.

View File

@ -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:

View File

@ -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()

View File

@ -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"])

View File

@ -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

View File

@ -154,7 +154,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

View File

@ -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

View File

@ -163,16 +163,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
@ -277,20 +267,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):
"""

View File

@ -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

View File

@ -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()

View File

@ -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!"

View File

@ -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: '+'])

View File

@ -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

View File

@ -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)

View File

@ -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,13 +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"
use-pgo: true
description: "Android 4.2 x86 Shippable"
attributes:
enable-full-crashsymbols: true
shippable: true
@ -179,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
@ -196,47 +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"
use-pgo: android-x86-shippable/opt
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
@ -252,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
@ -292,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
@ -309,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"
@ -366,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"
@ -417,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
@ -473,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"
@ -531,38 +302,9 @@ 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"
use-pgo: true
attributes:
enable-full-crashsymbols: true
shippable: true
@ -589,39 +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"
use-pgo: android-x86_64-shippable/opt
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"
@ -646,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"
@ -698,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
@ -724,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
@ -753,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
@ -781,7 +460,6 @@ android-arm-gcp/opt:
toolchain:
- linux64-clang
- linux64-sccache
- android-gradle-dependencies
optimization:
skip-unless-backstop: null
@ -809,7 +487,6 @@ android-aarch64-gcp/opt:
toolchain:
- linux64-clang
- linux64-sccache
- android-gradle-dependencies
optimization:
skip-unless-backstop: null
@ -837,7 +514,6 @@ android-aarch64-gcp/debug:
toolchain:
- linux64-clang
- linux64-sccache
- android-gradle-dependencies
optimization:
skip-unless-backstop: null
@ -865,7 +541,6 @@ android-x86_64-gcp/opt:
toolchain:
- linux64-clang
- linux64-sccache
- android-gradle-dependencies
optimization:
skip-unless-backstop: null
@ -891,7 +566,6 @@ android-x86_64-gcp/debug:
fetches:
toolchain:
- linux64-clang
- android-gradle-dependencies
optimization:
skip-unless-backstop: null
@ -915,6 +589,5 @@ android-x86_64-asan-fuzzing/opt:
toolchain:
- linux64-clang-android-cross
- linux64-sccache
- android-gradle-dependencies
optimization:
skip-unless-expanded: null

View File

@ -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"

View File

@ -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,48 +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-nasm
- linux64-node
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:

View File

@ -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}

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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:

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -31,8 +31,6 @@ RUN apt-get update && \
uuid \
valgrind \
vim \
x11-utils \
xvfb \
wget \
zip \
zstd

View File

@ -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, ,

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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",

View File

@ -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",
}

View File

@ -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
}
]

View File

@ -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
}
]

View File

@ -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
}
]

View File

@ -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
}
]

View File

@ -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
}
]

View File

@ -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