1*d9f75844SAndroid Build Coastguard Worker#!/usr/bin/env python 2*d9f75844SAndroid Build Coastguard Worker# Copyright (c) 2017 The WebRTC project authors. All Rights Reserved. 3*d9f75844SAndroid Build Coastguard Worker# 4*d9f75844SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license 5*d9f75844SAndroid Build Coastguard Worker# that can be found in the LICENSE file in the root of the source 6*d9f75844SAndroid Build Coastguard Worker# tree. An additional intellectual property rights grant can be found 7*d9f75844SAndroid Build Coastguard Worker# in the file PATENTS. All contributing project authors may 8*d9f75844SAndroid Build Coastguard Worker# be found in the AUTHORS file in the root of the source tree. 9*d9f75844SAndroid Build Coastguard Worker"""Downloads prebuilt AppRTC and Go from WebRTC storage and unpacks it. 10*d9f75844SAndroid Build Coastguard Worker 11*d9f75844SAndroid Build Coastguard WorkerRequires that depot_tools is installed and in the PATH. 12*d9f75844SAndroid Build Coastguard Worker 13*d9f75844SAndroid Build Coastguard WorkerIt downloads compressed files in the directory where the script lives. 14*d9f75844SAndroid Build Coastguard WorkerThis is because the precondition is that the script lives in the same 15*d9f75844SAndroid Build Coastguard Workerdirectory of the .sha1 files. 16*d9f75844SAndroid Build Coastguard Worker""" 17*d9f75844SAndroid Build Coastguard Worker 18*d9f75844SAndroid Build Coastguard Workerimport os 19*d9f75844SAndroid Build Coastguard Workerimport sys 20*d9f75844SAndroid Build Coastguard Worker 21*d9f75844SAndroid Build Coastguard Workerimport utils 22*d9f75844SAndroid Build Coastguard Worker 23*d9f75844SAndroid Build Coastguard WorkerSCRIPT_DIR = os.path.dirname(os.path.abspath(__file__)) 24*d9f75844SAndroid Build Coastguard Worker 25*d9f75844SAndroid Build Coastguard Worker 26*d9f75844SAndroid Build Coastguard Workerdef _GetGoArchivePathForPlatform(): 27*d9f75844SAndroid Build Coastguard Worker archive_extension = 'zip' if utils.GetPlatform() == 'win' else 'tar.gz' 28*d9f75844SAndroid Build Coastguard Worker return os.path.join(utils.GetPlatform(), 'go.%s' % archive_extension) 29*d9f75844SAndroid Build Coastguard Worker 30*d9f75844SAndroid Build Coastguard Worker 31*d9f75844SAndroid Build Coastguard Workerdef main(argv): 32*d9f75844SAndroid Build Coastguard Worker if len(argv) > 2: 33*d9f75844SAndroid Build Coastguard Worker return 'Usage: %s [output_dir]' % argv[0] 34*d9f75844SAndroid Build Coastguard Worker 35*d9f75844SAndroid Build Coastguard Worker output_dir = os.path.abspath(argv[1]) if len(argv) > 1 else None 36*d9f75844SAndroid Build Coastguard Worker 37*d9f75844SAndroid Build Coastguard Worker apprtc_zip_path = os.path.join(SCRIPT_DIR, 'prebuilt_apprtc.zip') 38*d9f75844SAndroid Build Coastguard Worker if os.path.isfile(apprtc_zip_path + '.sha1'): 39*d9f75844SAndroid Build Coastguard Worker utils.DownloadFilesFromGoogleStorage(SCRIPT_DIR, auto_platform=False) 40*d9f75844SAndroid Build Coastguard Worker 41*d9f75844SAndroid Build Coastguard Worker if output_dir is not None: 42*d9f75844SAndroid Build Coastguard Worker utils.RemoveDirectory(os.path.join(output_dir, 'apprtc')) 43*d9f75844SAndroid Build Coastguard Worker utils.UnpackArchiveTo(apprtc_zip_path, output_dir) 44*d9f75844SAndroid Build Coastguard Worker 45*d9f75844SAndroid Build Coastguard Worker golang_path = os.path.join(SCRIPT_DIR, 'golang') 46*d9f75844SAndroid Build Coastguard Worker golang_zip_path = os.path.join(golang_path, _GetGoArchivePathForPlatform()) 47*d9f75844SAndroid Build Coastguard Worker if os.path.isfile(golang_zip_path + '.sha1'): 48*d9f75844SAndroid Build Coastguard Worker utils.DownloadFilesFromGoogleStorage(golang_path) 49*d9f75844SAndroid Build Coastguard Worker 50*d9f75844SAndroid Build Coastguard Worker if output_dir is not None: 51*d9f75844SAndroid Build Coastguard Worker utils.RemoveDirectory(os.path.join(output_dir, 'go')) 52*d9f75844SAndroid Build Coastguard Worker utils.UnpackArchiveTo(golang_zip_path, output_dir) 53*d9f75844SAndroid Build Coastguard Worker 54*d9f75844SAndroid Build Coastguard Worker 55*d9f75844SAndroid Build Coastguard Workerif __name__ == '__main__': 56*d9f75844SAndroid Build Coastguard Worker sys.exit(main(sys.argv)) 57