# Copyright 2020 The Chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. # This script gets default goma_dir for depot_tools goma. import os import sys def main(): gomacc = 'gomacc' candidates = [] if sys.platform in ['win32', 'cygwin']: gomacc = 'gomacc.exe' for path in os.environ.get('PATH', '').split(os.pathsep): # normpath() required to strip trailing slash when present. if os.path.basename(os.path.normpath(path)) == 'depot_tools': candidates.append(os.path.join(path, '.cipd_bin')) for d in candidates: if os.path.isfile(os.path.join(d, gomacc)): sys.stdout.write(d) return 0 # mb analyze step set use_goma=true, but goma_dir="", # and bot doesn't have goma in default locataion above. # to mitigate this, just use initial depot_tools path # or default path as before (if depot_tools doesn't exist # in PATH). # TODO(ukai): crbug.com/1073276: fix mb analyze step and make it hard error? if sys.platform in ['win32', 'cygwin']: sys.stdout.write('C:\\src\\goma\\goma-win64') elif 'GOMA_DIR' in os.environ: sys.stdout.write(os.environ.get('GOMA_DIR')) else: sys.stdout.write(os.path.join(os.environ.get('HOME', ''), 'goma')) return 0 if __name__ == '__main__': sys.exit(main())