Index: mojo/public/tools/download_shell_binary.py |
diff --git a/mojo/public/tools/download_shell_binary.py b/mojo/public/tools/download_shell_binary.py |
deleted file mode 100755 |
index b46139e7ae1c7107fc4966bd2c290ee048bff719..0000000000000000000000000000000000000000 |
--- a/mojo/public/tools/download_shell_binary.py |
+++ /dev/null |
@@ -1,101 +0,0 @@ |
-#!/usr/bin/env python |
-# Copyright 2014 The Chromium Authors. All rights reserved. |
-# Use of this source code is governed by a BSD-style license that can be |
-# found in the LICENSE file. |
- |
-import argparse |
-import os |
-import subprocess |
-import sys |
-import tempfile |
-import zipfile |
- |
-if not sys.platform.startswith("linux"): |
- print "Not supported for your platform" |
- sys.exit(0) |
- |
- |
-def download(tools_directory): |
- current_path = os.path.dirname(os.path.realpath(__file__)) |
- find_depot_tools_path = os.path.join(current_path, tools_directory) |
- sys.path.insert(0, find_depot_tools_path) |
- # pylint: disable=F0401 |
- import find_depot_tools |
- |
- prebuilt_file_path = os.path.join(current_path, "prebuilt") |
- stamp_path = os.path.join(prebuilt_file_path, "VERSION") |
- |
- depot_tools_path = find_depot_tools.add_depot_tools_to_path() |
- gsutil_exe = os.path.join(depot_tools_path, "third_party", "gsutil", "gsutil") |
- |
- version_path = os.path.join(current_path, "../VERSION") |
- with open(version_path) as version_file: |
- version = version_file.read().strip() |
- |
- try: |
- with open(stamp_path) as stamp_file: |
- current_version = stamp_file.read().strip() |
- if current_version == version: |
- return 0 # Already have the right version. |
- except IOError: |
- pass # If the stamp file does not exist we need to download a new binary. |
- |
- platform = "linux-x64" # TODO: configurate |
- basename = platform + ".zip" |
- |
- gs_path = "gs://mojo/shell/" + version + "/" + basename |
- |
- with tempfile.NamedTemporaryFile() as temp_zip_file: |
- # We're downloading from a public bucket which does not need authentication, |
- # but the user might have busted credential files somewhere such as ~/.boto |
- # that the gsutil script will try (and fail) to use. Setting these |
- # environment variables convinces gsutil not to attempt to use these, but |
- # also generates a useless warning about failing to load the file. We want |
- # to discard this warning but still preserve all output in the case of an |
- # actual failure. So, we run the script and capture all output and then |
- # throw the output away if the script succeeds (return code 0). |
- env = os.environ.copy() |
- env["AWS_CREDENTIAL_FILE"] = "" |
- env["BOTO_CONFIG"] = "" |
- try: |
- subprocess.check_output( |
- [gsutil_exe, |
- "--bypass_prodaccess", |
- "cp", |
- gs_path, |
- temp_zip_file.name], |
- stderr=subprocess.STDOUT, |
- env=env) |
- except subprocess.CalledProcessError as e: |
- print e.output |
- sys.exit(1) |
- |
- with zipfile.ZipFile(temp_zip_file.name) as z: |
- zi = z.getinfo("mojo_shell") |
- mode = zi.external_attr >> 16 |
- z.extract(zi, prebuilt_file_path) |
- os.chmod(os.path.join(prebuilt_file_path, "mojo_shell"), mode) |
- |
- with open(stamp_path, 'w') as stamp_file: |
- stamp_file.write(version) |
- return 0 |
- |
- |
-def main(): |
- parser = argparse.ArgumentParser(description="Download mojo_shell binary " |
- "from google storage") |
- parser.add_argument("--tools-directory", |
- dest="tools_directory", |
- metavar="<tools-directory>", |
- type=str, |
- help="Path to the directory containing" |
- " find_depot_tools.py, specified as a relative path" |
- " from the location of this file.") |
- args = parser.parse_args() |
- if not args.tools_directory: |
- print "Must specify --tools_directory; please see help message." |
- sys.exit(1) |
- return download(args.tools_directory) |
- |
-if __name__ == "__main__": |
- sys.exit(main()) |