# Copyright 2023 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. import sys import ast import config_util # pylint: disable=import-error # This class doesn't need an __init__ method, so we disable the warning # pylint: disable=no-init class InfraSuperproject(config_util.Config): """Basic Config class for the whole set of Infrastructure repositories.""" @staticmethod def fetch_spec(props): def url(host, repo): return 'https://%s.googlesource.com/%s.git' % (host, repo) spec = { 'solutions': [ { 'name': '.', 'url': url('chromium', 'infra/infra_superproject'), 'managed': True, 'custom_vars': {}, }, ], } if ast.literal_eval(props.get('checkout_internal', 'False')): spec['solutions'][0]['custom_vars']['checkout_internal'] = True return { 'type': 'gclient_git', 'gclient_git_spec': spec, } @staticmethod def expected_root(_props): return '.' def main(argv=None): return InfraSuperproject().handle_args(argv) if __name__ == '__main__': sys.exit(main(sys.argv))