Chromium Code Reviews| Index: tools/buildtools/update.py |
| diff --git a/tools/buildtools/update.py b/tools/buildtools/update.py |
| new file mode 100755 |
| index 0000000000000000000000000000000000000000..6d676293aa43f3d1b1112c82f05cc6caa84c9e41 |
| --- /dev/null |
| +++ b/tools/buildtools/update.py |
| @@ -0,0 +1,88 @@ |
| +#!/usr/bin/env python |
| +# Copyright 2017 The Dart project authors. All rights reserved. |
| +# Use of this source code is governed by a BSD-style license that can be |
| +# found in the LICENSE file. |
| + |
| +"""Pulls down tools required to build Dart.""" |
| + |
| +import os |
| +import subprocess |
| +import shutil |
| +import sys |
| + |
| +THIS_DIR = os.path.abspath(os.path.dirname(__file__)) |
| +DART_ROOT = os.path.abspath(os.path.join(THIS_DIR, '..', '..')) |
| +BUILDTOOLS = os.path.join(DART_ROOT, 'buildtools') |
| +TOOLS_BUILDTOOLS = os.path.join(DART_ROOT, 'tools', 'buildtools') |
| + |
| +sys.path.insert(0, os.path.join(DART_ROOT, 'tools')) |
| +import find_depot_tools |
| + |
| +DEPOT_PATH = find_depot_tools.add_depot_tools_to_path() |
| + |
| + |
| +def Update(): |
| + path = os.path.join(BUILDTOOLS, 'update.sh') |
|
Bill Hesse
2017/05/03 16:05:34
I don't see tools/buildtools/update.sh being added
zra
2017/05/03 17:34:41
It's not in chromium/buildtools. It's in fuchsia's
|
| + return subprocess.call(['/bin/bash', path, '--toolchain', '--gn'], cwd=DART_ROOT) |
| + |
| + |
| +def UpdateGNOnWindows(): |
| + sha1_file = os.path.join(BUILDTOOLS, 'win', 'gn.exe.sha1') |
| + downloader_script = os.path.join(DEPOT_PATH, 'download_from_google_storage.py') |
| + download_cmd = [ |
| + 'python', |
| + downloader_script, |
| + '--no_auth', |
| + '--no_resume', |
| + '--quiet', |
| + '--platform=win*', |
| + '--bucket', |
| + 'chromium-gn', |
| + '-s', |
| + sha1_file |
| + ] |
| + return subprocess.call(download_cmd) |
| + |
| + |
| +def UpdateClangFormatOnWindows(): |
| + sha1_file = os.path.join(TOOLS_BUILDTOOLS, 'win', 'clang-format.exe.sha1') |
| + output_dir = os.path.join(BUILDTOOLS, 'win', 'clang-format.exe') |
| + downloader_script = os.path.join(DEPOT_PATH, 'download_from_google_storage.py') |
| + download_cmd = [ |
| + 'python', |
| + downloader_script, |
| + '--no_auth', |
| + '--no_resume', |
| + '--quiet', |
| + '--platform=win', |
| + '--bucket', |
| + 'chromium-clang-format', |
| + '-s', |
| + sha1_file, |
| + '-o', |
| + output_dir |
| + ] |
| + return subprocess.call(download_cmd) |
| + |
| + |
| +def CopyClangFormatScripts(): |
| + linux_script = os.path.join(TOOLS_BUILDTOOLS, 'linux64', 'clang-format') |
| + mac_script = os.path.join(TOOLS_BUILDTOOLS, 'mac', 'clang-format') |
| + linux_dest = os.path.join(BUILDTOOLS, 'linux64', 'clang-format') |
| + mac_dest = os.path.join(BUILDTOOLS, 'mac', 'clang-format') |
| + shutil.copy2(linux_script, linux_dest) |
| + shutil.copy2(mac_script, mac_dest) |
| + |
| + |
| +def main(argv): |
| + if sys.platform.startswith('win'): |
| + result = UpdateGNOnWindows() |
| + if result != 0: |
| + return result |
| + return UpdateClangFormatOnWindows() |
| + CopyClangFormatScripts() |
| + return Update() |
| + |
| + |
| +if __name__ == '__main__': |
| + sys.exit(main(sys.argv)) |