From 6c82c471c526f7d08613ba70659e51d248b07f82 Mon Sep 17 00:00:00 2001 From: Simon Sapin Date: Thu, 11 Oct 2018 16:07:24 +0200 Subject: [PATCH] Add --accept-all-licences to ./mach bootstrap-android --- etc/ci/bootstrap-android-and-accept-licences.sh | 17 ----------------- etc/ci/buildbot_steps.yml | 8 ++++---- etc/taskcluster/decision_task.py | 2 +- python/servo/bootstrap_commands.py | 16 ++++++++++++---- 4 files changed, 17 insertions(+), 26 deletions(-) delete mode 100755 etc/ci/bootstrap-android-and-accept-licences.sh diff --git a/etc/ci/bootstrap-android-and-accept-licences.sh b/etc/ci/bootstrap-android-and-accept-licences.sh deleted file mode 100755 index 1ad22868184..00000000000 --- a/etc/ci/bootstrap-android-and-accept-licences.sh +++ /dev/null @@ -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 "${@}" diff --git a/etc/ci/buildbot_steps.yml b/etc/ci/buildbot_steps.yml index 0ceaffc7f37..6e895d30597 100644 --- a/etc/ci/buildbot_steps.yml +++ b/etc/ci/buildbot_steps.yml @@ -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 diff --git a/etc/taskcluster/decision_task.py b/etc/taskcluster/decision_task.py index b81777aea63..58fe6ff64e1 100644 --- a/etc/taskcluster/decision_task.py +++ b/etc/taskcluster/decision_task.py @@ -87,7 +87,7 @@ def android_arm32(): # wget: servo-media-gstreamer’s 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( diff --git a/python/servo/bootstrap_commands.py b/python/servo/bootstrap_commands.py index 00e54c16a88..4ef19b2b45f 100644 --- a/python/servo/bootstrap_commands.py +++ b/python/servo/bootstrap_commands.py @@ -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")