1*6777b538SAndroid Build Coastguard Worker#!/usr/bin/env python3 2*6777b538SAndroid Build Coastguard Worker# Copyright 2023 The Chromium Authors 3*6777b538SAndroid Build Coastguard Worker# Use of this source code is governed by a BSD-style license that can be 4*6777b538SAndroid Build Coastguard Worker# found in the LICENSE file. 5*6777b538SAndroid Build Coastguard Worker 6*6777b538SAndroid Build Coastguard Workerimport os 7*6777b538SAndroid Build Coastguard Workerimport sys 8*6777b538SAndroid Build Coastguard Worker 9*6777b538SAndroid Build Coastguard Worker 10*6777b538SAndroid Build Coastguard Workerdef missing_cfg_error_message(): 11*6777b538SAndroid Build Coastguard Worker """This assumes that corp machine has gcert binary in known location.""" 12*6777b538SAndroid Build Coastguard Worker import shutil 13*6777b538SAndroid Build Coastguard Worker if shutil.which("gcert") is not None: 14*6777b538SAndroid Build Coastguard Worker return """ 15*6777b538SAndroid Build Coastguard WorkerTo build with gn arg 'use_remoteexec=true' as a googler on a corp machine 16*6777b538SAndroid Build Coastguard Workerset "download_remoteexec_cfg" in .gclient like 17*6777b538SAndroid Build Coastguard Worker 18*6777b538SAndroid Build Coastguard Workersolutions = [ 19*6777b538SAndroid Build Coastguard Worker { 20*6777b538SAndroid Build Coastguard Worker "name" : "src", 21*6777b538SAndroid Build Coastguard Worker # ... 22*6777b538SAndroid Build Coastguard Worker "custom_vars" : { 23*6777b538SAndroid Build Coastguard Worker "download_remoteexec_cfg": True, 24*6777b538SAndroid Build Coastguard Worker }, 25*6777b538SAndroid Build Coastguard Worker }, 26*6777b538SAndroid Build Coastguard Worker] 27*6777b538SAndroid Build Coastguard Worker 28*6777b538SAndroid Build Coastguard Workerand re-run `gclient sync`. 29*6777b538SAndroid Build Coastguard Worker 30*6777b538SAndroid Build Coastguard WorkerSee http://go/chrome-linux-build#setup-remote-execution 31*6777b538SAndroid Build Coastguard Workerfor more details.""" 32*6777b538SAndroid Build Coastguard Worker elif sys.platform == 'linux': 33*6777b538SAndroid Build Coastguard Worker return """ 34*6777b538SAndroid Build Coastguard WorkerTo build with gn arg 'use_remoteexec=true' as a googler on a non corp machine 35*6777b538SAndroid Build Coastguard Workersee http://go/chrome-linux-build#setup-remote-execution for setup instructions. 36*6777b538SAndroid Build Coastguard Worker 37*6777b538SAndroid Build Coastguard WorkerTo build with gn arg 'use_remoteexec=true' as a non-googler set the appropriate 38*6777b538SAndroid Build Coastguard Worker`rbe_cfg_dir` value in args.gn. 39*6777b538SAndroid Build Coastguard WorkerSee 40*6777b538SAndroid Build Coastguard Workerhttps://chromium.googlesource.com/chromium/src/+/main/docs/linux/build_instructions.md#use-reclient 41*6777b538SAndroid Build Coastguard Workerfor more details.""" 42*6777b538SAndroid Build Coastguard Worker else: 43*6777b538SAndroid Build Coastguard Worker return """ 44*6777b538SAndroid Build Coastguard WorkerTo build with gn arg 'use_remoteexec=true' as a googler on a non corp machine 45*6777b538SAndroid Build Coastguard Workersee http://go/chrome-linux-build#setup-remote-execution for setup instructions. 46*6777b538SAndroid Build Coastguard Worker 47*6777b538SAndroid Build Coastguard WorkerBuilding with gn arg 'use_remoteexec=true' as a non-googler is not currently 48*6777b538SAndroid Build Coastguard Workersupported on your os (%s). 49*6777b538SAndroid Build Coastguard Worker""" % sys.platform 50*6777b538SAndroid Build Coastguard Worker 51*6777b538SAndroid Build Coastguard Worker 52*6777b538SAndroid Build Coastguard Workerdef main(): 53*6777b538SAndroid Build Coastguard Worker if len(sys.argv) != 2: 54*6777b538SAndroid Build Coastguard Worker print("This should have a path to reclient config file in its args.", 55*6777b538SAndroid Build Coastguard Worker file=sys.stderr) 56*6777b538SAndroid Build Coastguard Worker return 1 57*6777b538SAndroid Build Coastguard Worker 58*6777b538SAndroid Build Coastguard Worker # Check path to rbe_cc_cfg_file. 59*6777b538SAndroid Build Coastguard Worker if os.path.isfile(sys.argv[1]): 60*6777b538SAndroid Build Coastguard Worker return 0 61*6777b538SAndroid Build Coastguard Worker 62*6777b538SAndroid Build Coastguard Worker print("reclient config file '%s' doesn't exist" % 63*6777b538SAndroid Build Coastguard Worker (os.path.abspath(sys.argv[1])), 64*6777b538SAndroid Build Coastguard Worker file=sys.stderr) 65*6777b538SAndroid Build Coastguard Worker print(missing_cfg_error_message(), file=sys.stderr) 66*6777b538SAndroid Build Coastguard Worker 67*6777b538SAndroid Build Coastguard Worker return 1 68*6777b538SAndroid Build Coastguard Worker 69*6777b538SAndroid Build Coastguard Worker 70*6777b538SAndroid Build Coastguard Workerif __name__ == "__main__": 71*6777b538SAndroid Build Coastguard Worker sys.exit(main()) 72