Add --accept-all-licences to ./mach bootstrap-android

This commit is contained in:
Simon Sapin 2018-10-11 16:07:24 +02:00
parent 89e1878bd6
commit 6c82c471c5
4 changed files with 17 additions and 26 deletions

View file

@ -1,17 +0,0 @@
#!/usr/bin/env bash
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
set -o errexit
set -o nounset
set -o pipefail
# We enable pipefail above to satisfy servo-tidy, but disable it again here.
# In the case of the 'yes' program,
# exiting when the stdout pipe is broken is expected.
set +o pipefail
cd $(dirname ${0})/../..
yes | ./mach bootstrap-android "${@}"

View file

@ -180,7 +180,7 @@ android:
- ./mach clean-nightlies --keep 3 --force
- ./mach clean-cargo-cache --keep 3 --force
- ./etc/ci/clean_build_artifacts.sh
- ./etc/ci/bootstrap-android-and-accept-licences.sh --build
- ./mach bootstrap-android --accept-all-licences --build
- env --unset ANDROID_NDK --unset ANDROID_SDK ./mach build --android --dev
- env --unset ANDROID_NDK --unset ANDROID_SDK ./mach package --android --dev
- bash ./etc/ci/lockfile_changed.sh
@ -191,7 +191,7 @@ android-mac:
commands:
- ./mach clean-nightlies --keep 3 --force
- ./mach clean-cargo-cache --keep 3 --force
- ./etc/ci/bootstrap-android-and-accept-licences.sh --build
- ./mach bootstrap-android --accept-all-licences --build
- ./mach build --android --dev
- ./mach package --android --dev
- bash ./etc/ci/lockfile_changed.sh
@ -205,7 +205,7 @@ android-x86:
- ./mach clean-nightlies --keep 3 --force
- ./mach clean-cargo-cache --keep 3 --force
- ./etc/ci/clean_build_artifacts.sh
- ./etc/ci/bootstrap-android-and-accept-licences.sh --build --emulator-x86
- ./mach bootstrap-android --accept-all-licences --build --emulator-x86
- env --unset ANDROID_NDK --unset ANDROID_SDK ./mach build --target i686-linux-android --release
- env --unset ANDROID_NDK --unset ANDROID_SDK ./mach test-android-startup --release
- env --unset ANDROID_NDK --unset ANDROID_SDK ./mach test-wpt-android --release /_mozilla/mozilla/DOMParser.html /_mozilla/mozilla/webgl/context_creation_error.html
@ -220,7 +220,7 @@ android-nightly:
- ./mach clean-nightlies --keep 3 --force
- ./mach clean-cargo-cache --keep 3 --force
- ./etc/ci/clean_build_artifacts.sh
- ./etc/ci/bootstrap-android-and-accept-licences.sh --build
- ./mach bootstrap-android --accept-all-licences --build
- env --unset ANDROID_NDK --unset ANDROID_SDK ./mach build --android --release
- env --unset ANDROID_NDK --unset ANDROID_SDK ./mach package --android --release --maven
- env --unset ANDROID_NDK --unset ANDROID_SDK ./mach build --target=i686-linux-android --release

View file

@ -87,7 +87,7 @@ def android_arm32():
# wget: servo-media-gstreamers build script
.with_script("""
apt-get install -y --no-install-recommends openjdk-8-jdk-headless file wget
yes | ./mach bootstrap-android --build
./mach bootstrap-android --accept-all-licences --build
./mach build --android --release
""")
.with_artifacts(

View file

@ -85,7 +85,10 @@ class MachCommands(CommandBase):
@CommandArgument('--emulator-x86',
action='store_true',
help='Install Android x86 emulator and system image')
def bootstrap_android(self, build=False, emulator_x86=False):
@CommandArgument('--accept-all-licences',
action='store_true',
help='For non-interactive use')
def bootstrap_android(self, build=False, emulator_x86=False, accept_all_licences=False):
if not (build or emulator_x86):
print("Must specify `--build` or `--emulator-x86` or both.")
@ -156,9 +159,14 @@ class MachCommands(CommandBase):
components += [
"platforms;android-18",
]
subprocess.check_call(
[path.join(toolchains, "sdk", "tools", "bin", "sdkmanager")] + components
)
sdkmanager = [path.join(toolchains, "sdk", "tools", "bin", "sdkmanager")] + components
if accept_all_licences:
yes = subprocess.Popen(["yes"], stdout=subprocess.PIPE)
subprocess.check_call(sdkmanager, stdin=yes.stdout)
yes.terminate()
else:
subprocess.check_call(sdkmanager)
if emulator_x86:
avd_path = path.join(toolchains, "avd", "servo-x86")