Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(538)

Unified Diff: gclient.py

Issue 7062029: Add a --deps-file flag to gclient to allow using a deps file other than DEPS. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/tools/depot_tools/
Patch Set: '' Created 9 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | tests/fake_repos.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: gclient.py
===================================================================
--- gclient.py (revision 86896)
+++ gclient.py (working copy)
@@ -138,7 +138,6 @@
class Dependency(GClientKeywords, gclient_utils.WorkItem):
"""Object that represents a dependency checkout."""
- DEPS_FILE = 'DEPS'
def __init__(self, parent, name, url, safesync_url, custom_deps,
custom_vars, deps_file, should_process):
@@ -154,7 +153,7 @@
self.custom_deps = custom_deps or {}
self.deps_hooks = []
self.dependencies = []
- self.deps_file = deps_file or self.DEPS_FILE
+ self.deps_file = deps_file
# A cache of the files affected by the current operation, necessary for
# hooks.
self._file_list = []
@@ -266,7 +265,8 @@
}
filepath = os.path.join(self.root_dir(), self.name, self.deps_file)
if not os.path.isfile(filepath):
- logging.info('%s: No DEPS file found at %s' % (self.name, filepath))
+ logging.info('%s: No %s file found at %s' % (self.name, self.deps_file,
+ filepath))
else:
deps_content = gclient_utils.FileRead(filepath)
logging.debug(deps_content)
@@ -331,7 +331,7 @@
'Dependency %s specified more than once:\n %s\nvs\n %s' %
(name, tree[name].hierarchy(), self.hierarchy()))
self.dependencies.append(Dependency(self, name, url, None, None, None,
- None, should_process))
+ self.deps_file, should_process))
logging.debug('Loaded: %s' % str(self))
# Arguments number differs from overridden method
@@ -585,6 +585,7 @@
solutions = [
{ "name" : "%(solution_name)s",
"url" : "%(solution_url)s",
+ "deps_file" : "%(deps_file)s",
"custom_deps" : {
},
"safesync_url": "%(safesync_url)s",
@@ -595,6 +596,7 @@
DEFAULT_SNAPSHOT_SOLUTION_TEXT = ("""\
{ "name" : "%(solution_name)s",
"url" : "%(solution_url)s",
+ "deps_file" : "%(deps_file)s",
"custom_deps" : {
%(solution_deps)s },
"safesync_url": "%(safesync_url)s",
@@ -611,7 +613,8 @@
# Do not change previous behavior. Only solution level and immediate DEPS
# are processed.
self._recursion_limit = 2
- Dependency.__init__(self, None, None, None, None, None, None, None, True)
+ Dependency.__init__(self, None, None, None, None, None, None, 'unused',
+ True)
self._options = options
if options.deps_os:
enforced_os = options.deps_os.split(',')
@@ -642,7 +645,7 @@
s.get('safesync_url', None),
s.get('custom_deps', {}),
s.get('custom_vars', {}),
- None,
+ s.get('deps_file', 'DEPS'),
M-A Ruel 2011/05/28 22:58:23 self.deps_file?
True))
except KeyError:
raise gclient_utils.Error('Invalid .gclient file. Solution is '
@@ -668,10 +671,12 @@
os.path.join(path, options.config_filename)))
return client
- def SetDefaultConfig(self, solution_name, solution_url, safesync_url):
+ def SetDefaultConfig(self, solution_name, deps_file, solution_url,
+ safesync_url):
self.SetConfig(self.DEFAULT_CLIENT_FILE_TEXT % {
'solution_name': solution_name,
'solution_url': solution_url,
+ 'deps_file': deps_file,
'safesync_url' : safesync_url,
})
@@ -846,6 +851,7 @@
new_gclient += self.DEFAULT_SNAPSHOT_SOLUTION_TEXT % {
'solution_name': d.name,
'solution_url': d.url,
+ 'deps_file': d.deps_file,
'safesync_url' : d.safesync_url or '',
'solution_deps': ''.join(custom_deps),
}
@@ -964,6 +970,11 @@
'probably can\'t contain any newlines.')
parser.add_option('--name',
help='overrides the default name for the solution')
+ parser.add_option('--deps-file', default='DEPS',
+ help='overrides the default name for the DEPS file for the'
+ 'main solutions and all sub-dependencies')
+ parser.add_option('--git-deps', action='store_true',
+ help='sets the deps file to ".DEPS.git" instead of "DEPS"')
(options, args) = parser.parse_args(args)
if ((options.spec and args) or len(args) > 2 or
(not options.spec and not args)):
@@ -982,10 +993,13 @@
else:
# specify an alternate relpath for the given URL.
name = options.name
+ deps_file = options.deps_file
+ if options.git_deps:
+ deps_file = '.DEPS.git'
safesync_url = ''
if len(args) > 1:
safesync_url = args[1]
- client.SetDefaultConfig(name, base_url, safesync_url)
+ client.SetDefaultConfig(name, deps_file, base_url, safesync_url)
client.SaveConfig()
return 0
« no previous file with comments | « no previous file | tests/fake_repos.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698