diff options
author | Tristan Maat <tristan.maat@codethink.co.uk> | 2017-10-31 15:57:10 +0000 |
---|---|---|
committer | Tristan Van Berkom <tristan.vanberkom@codethink.co.uk> | 2017-11-04 17:35:30 +0900 |
commit | 2a7d316d9480f50fa67b0958eb3f1341450e63cd (patch) | |
tree | 3d2e10e66d90b5d1eea9fc5d4b2d3d2fc625d56f /buildstream/_pipeline.py | |
parent | d970158299f7eeb9c4cc5d1f61d70ccd7c3bcbff (diff) | |
download | buildstream-2a7d316d9480f50fa67b0958eb3f1341450e63cd.tar.gz |
_pipeline.py: Fix metaelement resolution
Diffstat (limited to 'buildstream/_pipeline.py')
-rw-r--r-- | buildstream/_pipeline.py | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/buildstream/_pipeline.py b/buildstream/_pipeline.py index f0aec5aed..8d390fc3a 100644 --- a/buildstream/_pipeline.py +++ b/buildstream/_pipeline.py @@ -137,6 +137,7 @@ class Pipeline(): self.session_elements = 0 self.total_elements = 0 self.unused_workspaces = [] + self._resolved_elements = {} loader = Loader(self.project.element_path, targets, self.project._options, @@ -251,12 +252,9 @@ class Pipeline(): # Internal: Instantiates plugin-provided Element and Source instances # from MetaElement and MetaSource objects # - def resolve(self, meta_element, resolved=None, ticker=None): - if resolved is None: - resolved = {} - - if meta_element in resolved: - return resolved[meta_element] + def resolve(self, meta_element, ticker=None): + if meta_element in self._resolved_elements: + return self._resolved_elements[meta_element] if ticker: ticker(meta_element.name) @@ -267,13 +265,13 @@ class Pipeline(): self.artifacts, meta_element) - resolved[meta_element] = element + self._resolved_elements[meta_element] = element # resolve dependencies for dep in meta_element.dependencies: - element._add_dependency(self.resolve(dep, resolved=resolved, ticker=ticker), Scope.RUN) + element._add_dependency(self.resolve(dep, ticker=ticker), Scope.RUN) for dep in meta_element.build_dependencies: - element._add_dependency(self.resolve(dep, resolved=resolved, ticker=ticker), Scope.BUILD) + element._add_dependency(self.resolve(dep, ticker=ticker), Scope.BUILD) # resolve sources for meta_source in meta_element.sources: |