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-nightlies --keep 3 --force
- ./mach clean-cargo-cache --keep 3 --force - ./mach clean-cargo-cache --keep 3 --force
- ./etc/ci/clean_build_artifacts.sh - ./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 build --android --dev
- env --unset ANDROID_NDK --unset ANDROID_SDK ./mach package --android --dev - env --unset ANDROID_NDK --unset ANDROID_SDK ./mach package --android --dev
- bash ./etc/ci/lockfile_changed.sh - bash ./etc/ci/lockfile_changed.sh
@ -191,7 +191,7 @@ android-mac:
commands: commands:
- ./mach clean-nightlies --keep 3 --force - ./mach clean-nightlies --keep 3 --force
- ./mach clean-cargo-cache --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 build --android --dev
- ./mach package --android --dev - ./mach package --android --dev
- bash ./etc/ci/lockfile_changed.sh - bash ./etc/ci/lockfile_changed.sh
@ -205,7 +205,7 @@ android-x86:
- ./mach clean-nightlies --keep 3 --force - ./mach clean-nightlies --keep 3 --force
- ./mach clean-cargo-cache --keep 3 --force - ./mach clean-cargo-cache --keep 3 --force
- ./etc/ci/clean_build_artifacts.sh - ./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 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-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 - 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-nightlies --keep 3 --force
- ./mach clean-cargo-cache --keep 3 --force - ./mach clean-cargo-cache --keep 3 --force
- ./etc/ci/clean_build_artifacts.sh - ./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 build --android --release
- env --unset ANDROID_NDK --unset ANDROID_SDK ./mach package --android --release --maven - 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 - 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 # wget: servo-media-gstreamers build script
.with_script(""" .with_script("""
apt-get install -y --no-install-recommends openjdk-8-jdk-headless file wget 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 ./mach build --android --release
""") """)
.with_artifacts( .with_artifacts(

View file

@ -85,7 +85,10 @@ class MachCommands(CommandBase):
@CommandArgument('--emulator-x86', @CommandArgument('--emulator-x86',
action='store_true', action='store_true',
help='Install Android x86 emulator and system image') 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): if not (build or emulator_x86):
print("Must specify `--build` or `--emulator-x86` or both.") print("Must specify `--build` or `--emulator-x86` or both.")
@ -156,9 +159,14 @@ class MachCommands(CommandBase):
components += [ components += [
"platforms;android-18", "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: if emulator_x86:
avd_path = path.join(toolchains, "avd", "servo-x86") avd_path = path.join(toolchains, "avd", "servo-x86")