1*d9f75844SAndroid Build Coastguard Worker#!/usr/bin/env vpython3 2*d9f75844SAndroid Build Coastguard Worker 3*d9f75844SAndroid Build Coastguard Worker# Copyright (c) 2016 The WebRTC project authors. All Rights Reserved. 4*d9f75844SAndroid Build Coastguard Worker# 5*d9f75844SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license 6*d9f75844SAndroid Build Coastguard Worker# that can be found in the LICENSE file in the root of the source 7*d9f75844SAndroid Build Coastguard Worker# tree. An additional intellectual property rights grant can be found 8*d9f75844SAndroid Build Coastguard Worker# in the file PATENTS. All contributing project authors may 9*d9f75844SAndroid Build Coastguard Worker# be found in the AUTHORS file in the root of the source tree. 10*d9f75844SAndroid Build Coastguard Worker"""Downloads precompiled tools. 11*d9f75844SAndroid Build Coastguard Worker 12*d9f75844SAndroid Build Coastguard WorkerThese are checked into the repository as SHA-1 hashes (see *.sha1 files in 13*d9f75844SAndroid Build Coastguard Workersubdirectories). Note that chrome-webrtc-resources is a Google-internal bucket, 14*d9f75844SAndroid Build Coastguard Workerso please download and compile these tools manually if this script fails. 15*d9f75844SAndroid Build Coastguard Worker""" 16*d9f75844SAndroid Build Coastguard Worker 17*d9f75844SAndroid Build Coastguard Workerimport os 18*d9f75844SAndroid Build Coastguard Workerimport sys 19*d9f75844SAndroid Build Coastguard Worker 20*d9f75844SAndroid Build Coastguard WorkerSCRIPT_DIR = os.path.dirname(os.path.abspath(__file__)) 21*d9f75844SAndroid Build Coastguard WorkerSRC_DIR = os.path.abspath(os.path.join(SCRIPT_DIR, os.pardir)) 22*d9f75844SAndroid Build Coastguard Workersys.path.append(os.path.join(SRC_DIR, 'build')) 23*d9f75844SAndroid Build Coastguard Worker 24*d9f75844SAndroid Build Coastguard Workerimport find_depot_tools 25*d9f75844SAndroid Build Coastguard Workerfind_depot_tools.add_depot_tools_to_path() 26*d9f75844SAndroid Build Coastguard Workerimport gclient_utils 27*d9f75844SAndroid Build Coastguard Workerimport subprocess2 28*d9f75844SAndroid Build Coastguard Worker 29*d9f75844SAndroid Build Coastguard Worker 30*d9f75844SAndroid Build Coastguard Workerdef main(directories): 31*d9f75844SAndroid Build Coastguard Worker if not directories: 32*d9f75844SAndroid Build Coastguard Worker directories = [SCRIPT_DIR] 33*d9f75844SAndroid Build Coastguard Worker 34*d9f75844SAndroid Build Coastguard Worker for path in directories: 35*d9f75844SAndroid Build Coastguard Worker cmd = [ 36*d9f75844SAndroid Build Coastguard Worker sys.executable, 37*d9f75844SAndroid Build Coastguard Worker os.path.join(find_depot_tools.DEPOT_TOOLS_PATH, 38*d9f75844SAndroid Build Coastguard Worker 'download_from_google_storage.py'), 39*d9f75844SAndroid Build Coastguard Worker '--directory', 40*d9f75844SAndroid Build Coastguard Worker '--num_threads=10', 41*d9f75844SAndroid Build Coastguard Worker '--bucket', 42*d9f75844SAndroid Build Coastguard Worker 'chrome-webrtc-resources', 43*d9f75844SAndroid Build Coastguard Worker '--auto_platform', 44*d9f75844SAndroid Build Coastguard Worker '--recursive', 45*d9f75844SAndroid Build Coastguard Worker path, 46*d9f75844SAndroid Build Coastguard Worker ] 47*d9f75844SAndroid Build Coastguard Worker print('Downloading precompiled tools...') 48*d9f75844SAndroid Build Coastguard Worker 49*d9f75844SAndroid Build Coastguard Worker # Perform download similar to how gclient hooks execute. 50*d9f75844SAndroid Build Coastguard Worker try: 51*d9f75844SAndroid Build Coastguard Worker gclient_utils.CheckCallAndFilter(cmd, 52*d9f75844SAndroid Build Coastguard Worker cwd=SRC_DIR, 53*d9f75844SAndroid Build Coastguard Worker always_show_header=True) 54*d9f75844SAndroid Build Coastguard Worker except (gclient_utils.Error, subprocess2.CalledProcessError) as e: 55*d9f75844SAndroid Build Coastguard Worker print('Error: %s' % str(e)) 56*d9f75844SAndroid Build Coastguard Worker return 2 57*d9f75844SAndroid Build Coastguard Worker return 0 58*d9f75844SAndroid Build Coastguard Worker 59*d9f75844SAndroid Build Coastguard Worker 60*d9f75844SAndroid Build Coastguard Workerif __name__ == '__main__': 61*d9f75844SAndroid Build Coastguard Worker sys.exit(main(sys.argv[1:])) 62