webrtc/tools_webrtc/download_tools.py
Henrik Kjellander a254304281 Use subprocess2 and DEPS-pinned depot_tools for download_tools.py
As https://webrtc.googlesource.com/src/+/915187b1afe8f708b06e24b77f372dcd34fe75f3
has the proper fixed rolled in, https://webrtc-review.googlesource.com/c/src/+/8820
can be relanded to benefit from using DEPS-pinned third_party/depot_tools instead
of the auto-updated one.

TBR=mbonadei@webrtc.org

Bug: chromium:773671, webrtc:8393
Change-Id: Id47671956d014ce24e5b60ce3aae5423930db1aa
No-try: True
Reviewed-on: https://webrtc-review.googlesource.com/10800
Commit-Queue: Henrik Kjellander <kjellander@webrtc.org>
Reviewed-by: Henrik Kjellander <kjellander@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#20301}
2017-10-16 05:22:36 +00:00

58 lines
1.7 KiB
Python
Executable file

#!/usr/bin/env python
# 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))
DEPOT_TOOLS_DIR = os.path.join(SRC_DIR, 'third_party', 'depot_tools')
sys.path.insert(0, DEPOT_TOOLS_DIR)
import gclient_utils
import subprocess2
def main(directories):
if not directories:
directories = [SCRIPT_DIR]
for path in directories:
cmd = [
sys.executable,
os.path.join(DEPOT_TOOLS_DIR, '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.CheckCallAndFilterAndHeader(cmd, cwd=SRC_DIR, always=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:]))