diff options
author | Simon Sapin <simon.sapin@exyr.org> | 2018-06-21 23:07:11 +0200 |
---|---|---|
committer | Simon Sapin <simon.sapin@exyr.org> | 2018-07-02 13:25:44 +0200 |
commit | 56df7f42206dc9d877469aabb7d6a39a12decf76 (patch) | |
tree | 8c17d0464688e491d700ddc51f4ba762206c5656 /python/servo/bootstrap_commands.py | |
parent | 510cf1a2ab4221234b9666a6499d4291e817fe50 (diff) | |
download | servo-56df7f42206dc9d877469aabb7d6a39a12decf76.tar.gz servo-56df7f42206dc9d877469aabb7d6a39a12decf76.zip |
Install complete Android SDK (as much as on Buildbot CI)
Diffstat (limited to 'python/servo/bootstrap_commands.py')
-rw-r--r-- | python/servo/bootstrap_commands.py | 29 |
1 files changed, 20 insertions, 9 deletions
diff --git a/python/servo/bootstrap_commands.py b/python/servo/bootstrap_commands.py index f2f672f7653..149ed15be49 100644 --- a/python/servo/bootstrap_commands.py +++ b/python/servo/bootstrap_commands.py @@ -82,20 +82,15 @@ class MachCommands(CommandBase): filename = name + ".zip" url = base_url + filename archive = path.join(directory, filename) - extract_to = final + ".tmp" if not path.isdir(directory): os.makedirs(directory) - download_file(filename, url, archive) + if not path.isfile(archive): + download_file(filename, url, archive) check_hash(archive, sha512, "sha512") print("Extracting " + filename) - extract(archive, extract_to) - contents = os.listdir(extract_to) - assert len(contents) == 1 - extracted_dir = path.join(extract_to, contents[0]) - assert path.isdir(extracted_dir) - os.rename(extracted_dir, final) - os.rmdir(extract_to) + remove = True # Set to False to avoid repeated downloads while debugging this script + extract(archive, final, remove=remove) return final system = platform.system().lower() @@ -105,6 +100,22 @@ class MachCommands(CommandBase): ndk = download("ndk", "android-ndk-%s-%s-%s" % (ndk_version, system, arch), ndk_sha512) sdk = download("sdk", "tools_%s-%s" % (sdk_version, os_), sdk_sha512) + if not path.isdir(path.join(sdk, "platform-tools")): + subprocess.check_call([ + path.join(sdk, "tools", "android"), + "update", "sdk", "--no-ui", "--all", "--filter", + "platform-tools,android-%s,build-tools-%s" % (sdk_platform, sdk_build_tools), + ]) + + contents = os.listdir(ndk) + assert len(contents) == 1 + ndk = path.join(ndk, contents[0]) + + print("") + print("export ANDROID_SDK=\"%s\"" % sdk) + print("export ANDROID_NDK=\"%s\"" % ndk) + print("export PATH=\"%s:$PATH\"" % path.join(sdk, "platform-tools")) + @Command('update-hsts-preload', description='Download the HSTS preload list', category='bootstrap') |