mirror of
https://github.com/mollyim/webrtc.git
synced 2025-05-13 05:40:42 +01:00

Starting from Go 1.17, modules are the default and cannot be disabled. This requires a change in the GitHub repositury [1]. As a stopgap solution, this CL moves Go back to 1.16 and disables modules [2]. [1] - https://github.com/webrtc/apprtc/tree/master/src/collider [2] - https://go.dev/blog/go116-module-changes No-Presubmit: True Bug: webrtc:14342 Change-Id: Idd03639588bc03497a78f0cef350daebf3b2f1d9 Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/271481 Reviewed-by: Evan Shrubsole <eshr@webrtc.org> Commit-Queue: Mirko Bonadei <mbonadei@webrtc.org> Cr-Commit-Position: refs/heads/main@{#37760}
67 lines
2.3 KiB
Python
Executable file
67 lines
2.3 KiB
Python
Executable file
#!/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:
|
|
return 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))
|