You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
1.3 KiB
Python
48 lines
1.3 KiB
Python
# 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))
|