gclient: allow dict syntax in deps, in preparation for conditions
Bug: 570091
Change-Id: Ib3296a201bdcbd4ec350ee0e98112a89e388fd61
Reviewed-on: https://chromium-review.googlesource.com/517049
Reviewed-by: Andrii Shyshkalov <tandrii@chromium.org>
Commit-Queue: Paweł Hajdan Jr. <phajdan.jr@chromium.org>
diff --git a/gclient.py b/gclient.py
index 7dd3a6c..f861ed9 100755
--- a/gclient.py
+++ b/gclient.py
@@ -644,13 +644,19 @@
# Convert the deps into real Dependency.
deps_to_add = []
- for name, url in deps.iteritems():
+ for name, dep_value in deps.iteritems():
should_process = self.recursion_limit and self.should_process
deps_file = self.deps_file
if self.recursedeps is not None:
ent = self.recursedeps.get(name)
if ent is not None:
deps_file = ent['deps_file']
+ if isinstance(dep_value, basestring):
+ url = dep_value
+ else:
+ # This should be guaranteed by schema checking in gclient_eval.
+ assert isinstance(dep_value, dict)
+ url = dep_value['url']
deps_to_add.append(Dependency(
self, name, url, None, None, self.custom_vars, None,
deps_file, should_process, use_relative_paths))