diff options
Diffstat (limited to '')
-rwxr-xr-x | third_party/libwebrtc/rtc_tools/testing/build_apprtc.py | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/third_party/libwebrtc/rtc_tools/testing/build_apprtc.py b/third_party/libwebrtc/rtc_tools/testing/build_apprtc.py new file mode 100755 index 0000000000..2f680e6ad1 --- /dev/null +++ b/third_party/libwebrtc/rtc_tools/testing/build_apprtc.py @@ -0,0 +1,67 @@ +#!/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. +"""Builds the AppRTC collider using the golang toolchain. + +The golang toolchain is downloaded by download_apprtc.py. We use that here +to build the AppRTC collider server. + +This script needs to know the path to the 'src' directory in apprtc, the +root directory of 'go' and the output_dir. +""" + +import fileinput +import os +import shutil +import subprocess +import sys + +import utils + +USAGE_STR = "Usage: {} <apprtc_dir> <go_dir> <output_dir>" + + +def _ConfigureApprtcServerToDeveloperMode(app_yaml_path): + for line in fileinput.input(app_yaml_path, inplace=True): + # We can't click past these in browser-based tests, so disable them. + line = line.replace('BYPASS_JOIN_CONFIRMATION: false', + 'BYPASS_JOIN_CONFIRMATION: true') + sys.stdout.write(line) + + +def main(argv): + if len(argv) != 4: + print(USAGE_STR.format(argv[0])) + + apprtc_dir = os.path.abspath(argv[1]) + go_root_dir = os.path.abspath(argv[2]) + golang_workspace = os.path.abspath(argv[3]) + + app_yaml_path = os.path.join(apprtc_dir, 'out', 'app_engine', 'app.yaml') + _ConfigureApprtcServerToDeveloperMode(app_yaml_path) + + utils.RemoveDirectory(golang_workspace) + + collider_dir = os.path.join(apprtc_dir, 'src', 'collider') + shutil.copytree(collider_dir, os.path.join(golang_workspace, 'src')) + + golang_path = os.path.join(go_root_dir, 'bin', + 'go' + utils.GetExecutableExtension()) + golang_env = os.environ.copy() + golang_env['GOROOT'] = go_root_dir + golang_env['GOPATH'] = golang_workspace + golang_env['GO111MODULE'] = 'off' + collider_out = os.path.join(golang_workspace, + 'collidermain' + utils.GetExecutableExtension()) + subprocess.check_call( + [golang_path, 'build', '-o', collider_out, 'collidermain'], + env=golang_env) + + +if __name__ == '__main__': + sys.exit(main(sys.argv)) |