diff options
-rw-r--r-- | buildstream/_loader.py | 6 | ||||
-rw-r--r-- | buildstream/_metasource.py | 9 | ||||
-rw-r--r-- | buildstream/source.py | 14 |
3 files changed, 7 insertions, 22 deletions
diff --git a/buildstream/_loader.py b/buildstream/_loader.py index 9793581e0..dc092dd0e 100644 --- a/buildstream/_loader.py +++ b/buildstream/_loader.py @@ -572,11 +572,7 @@ class Loader(): directory = None index = sources.index(source) - meta_source = MetaSource(element_name, index, - kind, source, directory, - provenance.node, - provenance.toplevel, - provenance.filename) + meta_source = MetaSource(element_name, index, kind, source, directory) meta_sources.append(meta_source) kind = _yaml.node_get(data, str, Symbol.KIND) diff --git a/buildstream/_metasource.py b/buildstream/_metasource.py index 9681b98f2..5f3fa3608 100644 --- a/buildstream/_metasource.py +++ b/buildstream/_metasource.py @@ -30,17 +30,10 @@ class MetaSource(): # element_index: The index of the source in the owning element's source list # kind: The kind of the source # config: The configuration data for the source - # origin_node: The original YAML dictionary node defining this source - # origin_toplevel: The toplevel YAML loaded from the original file - # origin_filename: The filename in which the node was loaded from # - def __init__(self, element_name, element_index, kind, config, directory, - origin_node, origin_toplevel, origin_filename): + def __init__(self, element_name, element_index, kind, config, directory): self.element_name = element_name self.element_index = element_index self.kind = kind self.config = config self.directory = directory - self.origin_node = origin_node - self.origin_toplevel = origin_toplevel - self.origin_filename = origin_filename diff --git a/buildstream/source.py b/buildstream/source.py index 25476bc08..bf7fa45f3 100644 --- a/buildstream/source.py +++ b/buildstream/source.py @@ -87,9 +87,6 @@ class Source(Plugin): self.__element_name = meta.element_name # The name of the element owning this source self.__element_index = meta.element_index # The index of the source in the owning element's source list self.__directory = meta.directory # Staging relative directory - self.__origin_node = meta.origin_node # YAML node this Source was loaded from - self.__origin_toplevel = meta.origin_toplevel # Toplevel YAML node for the file - self.__origin_filename = meta.origin_filename # Filename of the file the source was loaded from self.__consistency = Consistency.INCONSISTENT # Cached consistency state self.__tracking = False # Source is scheduled to be tracked self.__assemble_scheduled = False # Source is scheduled to be assembled @@ -540,6 +537,7 @@ class Source(Plugin): context = self._get_context() project = self._get_project() toplevel = context._get_toplevel_project() + provenance = self._get_provenance() element_name = self.__element_name element_idx = self.__element_index @@ -551,7 +549,7 @@ class Source(Plugin): if toplevel._ref_storage == ProjectRefStorage.PROJECT_REFS: node = toplevel.refs.lookup_ref(project.name, element_name, element_idx, write=True) else: - node = self.__origin_node + node = provenance.node else: if toplevel._ref_storage == ProjectRefStorage.PROJECT_REFS: node = toplevel.refs.lookup_ref(project.name, element_name, element_idx, write=True) @@ -580,14 +578,12 @@ class Source(Plugin): else: # Save the ref in the originating file # - toplevel_node = self.__origin_toplevel - filename = self.__origin_filename - fullname = os.path.join(toplevel.element_path, filename) + fullname = os.path.join(toplevel.element_path, provenance.filename) try: - _yaml.dump(toplevel_node, fullname) + _yaml.dump(provenance.toplevel, fullname) except OSError as e: raise SourceError("{}: Error saving source reference to '{}': {}" - .format(self, filename, e), + .format(self, provenance.filename, e), reason="save-ref-error") from e else: if toplevel._ref_storage == ProjectRefStorage.PROJECT_REFS: |