blob: 962c27cf7a8e95a8b9fabc236ca1265b6dee0b11 [file] [log] [blame]
# 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))