Index: gclient.py |
diff --git a/gclient.py b/gclient.py |
index d56f9a25bfbb8fa55d1c1e152f0b132117abcd0b..7a3c1442fb5d0b8dec573d4301acef852d7b45e9 100755 |
--- a/gclient.py |
+++ b/gclient.py |
@@ -847,11 +847,11 @@ class GClient(object): |
new_gclient = "" |
# Dictionary of { path : SCM url } to ensure no duplicate solutions |
solution_names = {} |
+ entries = {} |
+ entries_deps_content = {} |
# Run on the base solutions first. |
for solution in solutions: |
# Dictionary of { path : SCM url } to describe the gclient checkout |
- entries = {} |
- entries_deps_content = {} |
name = solution["name"] |
if name in solution_names: |
raise gclient_utils.Error("solution %s specified more than once" % name) |
@@ -871,48 +871,51 @@ class GClient(object): |
deps_content = "" |
entries_deps_content[name] = deps_content |
- # Process the dependencies next (sort alphanumerically to ensure that |
- # containing directories get populated first and for readability) |
- deps = self._ParseAllDeps(entries, entries_deps_content) |
- deps_to_process = deps.keys() |
- deps_to_process.sort() |
- |
- # First pass for direct dependencies. |
- for d in deps_to_process: |
- if type(deps[d]) == str: |
- (url, rev) = GetURLAndRev(d, deps[d]) |
- entries[d] = "%s@%s" % (url, rev) |
- |
- # Second pass for inherited deps (via the From keyword) |
- for d in deps_to_process: |
- if type(deps[d]) != str: |
- deps_parent_url = entries[deps[d].module_name] |
- if deps_parent_url.find("@") < 0: |
- raise gclient_utils.Error("From %s missing revisioned url" % |
- deps[d].module_name) |
- content = gclient_utils.FileRead(os.path.join( |
- self._root_dir, |
- deps[d].module_name, |
- self._options.deps_file)) |
- sub_deps = self._ParseSolutionDeps(deps[d].module_name, content, {}) |
- (url, rev) = GetURLAndRev(d, sub_deps[d]) |
- entries[d] = "%s@%s" % (url, rev) |
- |
- # Build the snapshot configuration string |
- if self._options.snapshot: |
- url = entries.pop(name) |
- custom_deps = ",\n ".join(["\"%s\": \"%s\"" % (x, entries[x]) |
- for x in sorted(entries.keys())]) |
- |
- new_gclient += DEFAULT_SNAPSHOT_SOLUTION_TEXT % { |
- 'solution_name': name, |
- 'solution_url': url, |
- 'safesync_url' : "", |
- 'solution_deps': custom_deps, |
- } |
- else: |
- print(";\n".join(["%s: %s" % (x, entries[x]) |
- for x in sorted(entries.keys())])) |
+ # Process the dependencies next (sort alphanumerically to ensure that |
+ # containing directories get populated first and for readability) |
+# DEBUG |
M-A Ruel
2010/03/11 23:46:07
Remove this please.
|
+ #print "entries\n%s\nentries_deps_content\n%s" % (entries, entries_deps_content) |
+# END DEBUG |
+ deps = self._ParseAllDeps(entries, entries_deps_content) |
+ deps_to_process = deps.keys() |
+ deps_to_process.sort() |
+ |
+ # First pass for direct dependencies. |
+ for d in deps_to_process: |
+ if type(deps[d]) == str: |
+ (url, rev) = GetURLAndRev(d, deps[d]) |
+ entries[d] = "%s@%s" % (url, rev) |
+ |
+ # Second pass for inherited deps (via the From keyword) |
+ for d in deps_to_process: |
+ if type(deps[d]) != str: |
+ deps_parent_url = entries[deps[d].module_name] |
+ if deps_parent_url.find("@") < 0: |
+ raise gclient_utils.Error("From %s missing revisioned url" % |
+ deps[d].module_name) |
+ content = gclient_utils.FileRead(os.path.join( |
+ self._root_dir, |
+ deps[d].module_name, |
+ self._options.deps_file)) |
+ sub_deps = self._ParseSolutionDeps(deps[d].module_name, content, {}) |
+ (url, rev) = GetURLAndRev(d, sub_deps[d]) |
+ entries[d] = "%s@%s" % (url, rev) |
+ |
+ # Build the snapshot configuration string |
+ if self._options.snapshot: |
+ url = entries.pop(name) |
+ custom_deps = ",\n ".join(["\"%s\": \"%s\"" % (x, entries[x]) |
+ for x in sorted(entries.keys())]) |
+ |
+ new_gclient += DEFAULT_SNAPSHOT_SOLUTION_TEXT % { |
+ 'solution_name': name, |
+ 'solution_url': url, |
+ 'safesync_url' : "", |
+ 'solution_deps': custom_deps, |
+ } |
+ else: |
+ print(";\n".join(["%s: %s" % (x, entries[x]) |
+ for x in sorted(entries.keys())])) |
# Print the snapshot configuration file |
if self._options.snapshot: |