aboutsummaryrefslogtreecommitdiffstats
path: root/python/servo/bootstrap_commands.py
diff options
context:
space:
mode:
authorSimon Sapin <simon.sapin@exyr.org>2018-06-21 23:07:11 +0200
committerSimon Sapin <simon.sapin@exyr.org>2018-07-02 13:25:44 +0200
commit56df7f42206dc9d877469aabb7d6a39a12decf76 (patch)
tree8c17d0464688e491d700ddc51f4ba762206c5656 /python/servo/bootstrap_commands.py
parent510cf1a2ab4221234b9666a6499d4291e817fe50 (diff)
downloadservo-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.py29
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')