| #!/usr/bin/env python | |
| # Copyright (c) 2017 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 prebuilt AppRTC and Go from WebRTC storage and unpacks it. | |
| Requires that depot_tools is installed and in the PATH. | |
| It downloads compressed files in the directory where the script lives. | |
| This is because the precondition is that the script lives in the same | |
| directory of the .sha1 files. | |
| """ | |
| import os | |
| import sys | |
| import utils | |
| SCRIPT_DIR = os.path.dirname(os.path.abspath(__file__)) | |
| def _GetGoArchivePathForPlatform(): | |
| archive_extension = 'zip' if utils.GetPlatform() == 'win' else 'tar.gz' | |
| return os.path.join(utils.GetPlatform(), 'go.%s' % archive_extension) | |
| def main(argv): | |
| if len(argv) > 2: | |
| return 'Usage: %s [output_dir]' % argv[0] | |
| output_dir = os.path.abspath(argv[1]) if len(argv) > 1 else None | |
| apprtc_zip_path = os.path.join(SCRIPT_DIR, 'prebuilt_apprtc.zip') | |
| if os.path.isfile(apprtc_zip_path + '.sha1'): | |
| utils.DownloadFilesFromGoogleStorage(SCRIPT_DIR, auto_platform=False) | |
| if output_dir is not None: | |
| utils.RemoveDirectory(os.path.join(output_dir, 'apprtc')) | |
| utils.UnpackArchiveTo(apprtc_zip_path, output_dir) | |
| golang_path = os.path.join(SCRIPT_DIR, 'golang') | |
| golang_zip_path = os.path.join(golang_path, _GetGoArchivePathForPlatform()) | |
| if os.path.isfile(golang_zip_path + '.sha1'): | |
| utils.DownloadFilesFromGoogleStorage(golang_path) | |
| if output_dir is not None: | |
| utils.RemoveDirectory(os.path.join(output_dir, 'go')) | |
| utils.UnpackArchiveTo(golang_zip_path, output_dir) | |
| if __name__ == '__main__': | |
| sys.exit(main(sys.argv)) |