xref: /aosp_15_r20/external/webrtc/rtc_tools/testing/download_apprtc.py (revision d9f758449e529ab9291ac668be2861e7a55c2422)
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