summaryrefslogtreecommitdiffstats
path: root/third_party/libwebrtc/tools_webrtc/download_tools.py
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/libwebrtc/tools_webrtc/download_tools.py')
-rwxr-xr-xthird_party/libwebrtc/tools_webrtc/download_tools.py61
1 files changed, 61 insertions, 0 deletions
diff --git a/third_party/libwebrtc/tools_webrtc/download_tools.py b/third_party/libwebrtc/tools_webrtc/download_tools.py
new file mode 100755
index 0000000000..16d7e5f3f0
--- /dev/null
+++ b/third_party/libwebrtc/tools_webrtc/download_tools.py
@@ -0,0 +1,61 @@
+#!/usr/bin/env vpython3
+
+# Copyright (c) 2016 The WebRTC 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 in the root of the source
+# tree. An additional intellectual property rights grant can be found
+# in the file PATENTS. All contributing project authors may
+# be found in the AUTHORS file in the root of the source tree.
+"""Downloads precompiled tools.
+
+These are checked into the repository as SHA-1 hashes (see *.sha1 files in
+subdirectories). Note that chrome-webrtc-resources is a Google-internal bucket,
+so please download and compile these tools manually if this script fails.
+"""
+
+import os
+import sys
+
+SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__))
+SRC_DIR = os.path.abspath(os.path.join(SCRIPT_DIR, os.pardir))
+sys.path.append(os.path.join(SRC_DIR, 'build'))
+
+import find_depot_tools
+find_depot_tools.add_depot_tools_to_path()
+import gclient_utils
+import subprocess2
+
+
+def main(directories):
+ if not directories:
+ directories = [SCRIPT_DIR]
+
+ for path in directories:
+ cmd = [
+ sys.executable,
+ os.path.join(find_depot_tools.DEPOT_TOOLS_PATH,
+ 'download_from_google_storage.py'),
+ '--directory',
+ '--num_threads=10',
+ '--bucket',
+ 'chrome-webrtc-resources',
+ '--auto_platform',
+ '--recursive',
+ path,
+ ]
+ print('Downloading precompiled tools...')
+
+ # Perform download similar to how gclient hooks execute.
+ try:
+ gclient_utils.CheckCallAndFilter(cmd,
+ cwd=SRC_DIR,
+ always_show_header=True)
+ except (gclient_utils.Error, subprocess2.CalledProcessError) as e:
+ print('Error: %s' % str(e))
+ return 2
+ return 0
+
+
+if __name__ == '__main__':
+ sys.exit(main(sys.argv[1:]))