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