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.
57 lines
1.6 KiB
Python
57 lines
1.6 KiB
Python
# Copyright 2014 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 recipe_util # pylint: disable=F0401
|
|
|
|
|
|
# This class doesn't need an __init__ method, so we disable the warning
|
|
# pylint: disable=W0232
|
|
class DepotTools(recipe_util.Recipe):
|
|
"""Basic Recipe class for DepotTools."""
|
|
|
|
@staticmethod
|
|
def fetch_spec(props):
|
|
url = 'https://chromium.googlesource.com/chromium/tools/depot_tools.git'
|
|
solution = { 'name' :'src',
|
|
'url' : url,
|
|
'deps_file': '.DEPS.git',
|
|
'managed' : False,
|
|
'custom_deps': {},
|
|
'safesync_url': '',
|
|
}
|
|
spec = {
|
|
'solutions': [solution],
|
|
'svn_url': 'svn://svn.chromium.org/chrome',
|
|
'svn_branch': 'trunk/tools/depot_tools',
|
|
'svn_ref': 'master',
|
|
}
|
|
if props.get('submodule_git_svn_spec'):
|
|
spec['submodule_git_svn_spec'] = props['submodule_git_svn_spec']
|
|
if props.get('target_os'):
|
|
spec['target_os'] = props['target_os'].split(',')
|
|
if props.get('target_os_only'):
|
|
spec['target_os_only'] = props['target_os_only']
|
|
checkout_type = 'gclient_git_svn'
|
|
if props.get('nosvn'):
|
|
checkout_type = 'gclient_git'
|
|
spec_type = '%s_spec' % checkout_type
|
|
return {
|
|
'type': checkout_type,
|
|
spec_type: spec,
|
|
}
|
|
|
|
@staticmethod
|
|
def expected_root(_props):
|
|
return 'src'
|
|
|
|
|
|
def main(argv=None):
|
|
return DepotTools().handle_args(argv)
|
|
|
|
|
|
if __name__ == '__main__':
|
|
sys.exit(main(sys.argv))
|