| Index: gclient.py
|
| diff --git a/gclient.py b/gclient.py
|
| index 6ecb941887330266baf2f15804d9b08b9d7ee484..22e5f990a635b2da696922bf41862c2fa6c1fc6d 100644
|
| --- a/gclient.py
|
| +++ b/gclient.py
|
| @@ -344,22 +344,15 @@ class Dependency(gclient_utils.WorkItem, DependencySettings):
|
| # It may happen that len(ref) > 1 but it's no big deal.
|
| ref = ref[0]
|
| sub_target = url.sub_target_name or self.name
|
| - # Make sure the referenced dependency DEPS file is loaded and file the
|
| - # inner referenced dependency.
|
| - # TODO(maruel): Shouldn't do that.
|
| - ref.ParseDepsFile()
|
| - found_dep = None
|
| - for d in ref.dependencies:
|
| - if d.name == sub_target:
|
| - found_dep = d
|
| - break
|
| - if not found_dep:
|
| + found_deps = [d for d in ref.dependencies if d.name == sub_target]
|
| + if len(found_deps) != 1:
|
| raise gclient_utils.Error(
|
| 'Couldn\'t find %s in %s, referenced by %s (parent: %s)\n%s' % (
|
| sub_target, ref.name, self.name, self.parent.name,
|
| str(self.root)))
|
|
|
| # Call LateOverride() again.
|
| + found_dep = found_deps[0]
|
| parsed_url = found_dep.LateOverride(found_dep.url)
|
| logging.info(
|
| 'LateOverride(%s, %s) -> %s (From)' % (self.name, url, parsed_url))
|
| @@ -396,9 +389,7 @@ class Dependency(gclient_utils.WorkItem, DependencySettings):
|
|
|
| def ParseDepsFile(self):
|
| """Parses the DEPS file for this dependency."""
|
| - if self.deps_parsed:
|
| - logging.debug('%s was already parsed' % self.name)
|
| - return
|
| + assert not self.deps_parsed
|
| assert not self.dependencies
|
| # One thing is unintuitive, vars = {} must happen before Var() use.
|
| local_scope = {}
|
| @@ -561,9 +552,8 @@ class Dependency(gclient_utils.WorkItem, DependencySettings):
|
| while file_list[i].startswith(('\\', '/')):
|
| file_list[i] = file_list[i][1:]
|
|
|
| - if self.recursion_limit:
|
| - # Then we can parse the DEPS file.
|
| - self.ParseDepsFile()
|
| + # Always parse the DEPS file.
|
| + self.ParseDepsFile()
|
|
|
| self._run_is_done(file_list, parsed_url)
|
|
|
| @@ -685,6 +675,7 @@ class Dependency(gclient_utils.WorkItem, DependencySettings):
|
| @property
|
| @gclient_utils.lockedmethod
|
| def deps_parsed(self):
|
| + """This is purely for debugging purposes. It's not used anywhere."""
|
| return self._deps_parsed
|
|
|
| @property
|
|
|