Chromium Code Reviews| 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: |