diff options
author | Tristan van Berkom <tristan.vanberkom@codethink.co.uk> | 2020-06-10 15:39:14 +0900 |
---|---|---|
committer | Tristan van Berkom <tristan.vanberkom@codethink.co.uk> | 2020-06-10 15:41:07 +0900 |
commit | 78e7095702d9166f9268029e95d14f855b3b0c49 (patch) | |
tree | 43a492e612cb675a57b4bf8759a09ec1428004bb | |
parent | dd7b31e2135096086275b233982092d8a26ba393 (diff) | |
download | buildstream-tristan/get-loader-provenance.tar.gz |
_loader/loader.py: Make provenance a positional argumenttristan/get-loader-provenance
This forces the `provenance` to `Loader.get_loader()` to be
a mandatory argument, ensuring that there are never any
callers which fail to provide provenance.
-rw-r--r-- | src/buildstream/_includes.py | 2 | ||||
-rw-r--r-- | src/buildstream/_loader/loader.py | 8 | ||||
-rw-r--r-- | src/buildstream/_pluginfactory/pluginoriginjunction.py | 2 |
3 files changed, 6 insertions, 6 deletions
diff --git a/src/buildstream/_includes.py b/src/buildstream/_includes.py index e4b144337..1556bc613 100644 --- a/src/buildstream/_includes.py +++ b/src/buildstream/_includes.py @@ -138,7 +138,7 @@ class Includes: shortname = include if ":" in include: junction, include = include.rsplit(":", 1) - current_loader = loader.get_loader(junction, provenance=provenance) + current_loader = loader.get_loader(junction, provenance) current_loader.project.ensure_fully_loaded() else: current_loader = loader diff --git a/src/buildstream/_loader/loader.py b/src/buildstream/_loader/loader.py index 17f0d906f..e62e99730 100644 --- a/src/buildstream/_loader/loader.py +++ b/src/buildstream/_loader/loader.py @@ -164,15 +164,15 @@ class Loader: # # Args: # name (str): Name of junction, may have multiple `:` in the name + # provenance (ProvenanceInformation): The provenance # rewritable (bool): Whether the loaded files should be rewritable # this is a bit more expensive due to deep copies # ticker (callable): An optional function for tracking load progress - # provenance (ProvenanceInformation): The provenance # # Returns: # (Loader): loader for sub-project # - def get_loader(self, name, *, rewritable=False, ticker=None, level=0, provenance=None): + def get_loader(self, name, provenance, *, rewritable=False, ticker=None, level=0): junction_path = name.split(":") loader = self @@ -422,7 +422,7 @@ class Loader: if dep.junction: loader = self.get_loader( - dep.junction, rewritable=rewritable, ticker=ticker, provenance=dep.provenance + dep.junction, dep.provenance, rewritable=rewritable, ticker=ticker ) dep_element = loader._load_file(dep.name, rewritable, ticker, dep.provenance) else: @@ -780,7 +780,7 @@ class Loader: if len(junction_path) == 1: return None, junction_path[-1], self else: - loader = self.get_loader(junction_path[-2], rewritable=rewritable, ticker=ticker, provenance=provenance) + loader = self.get_loader(junction_path[-2], provenance, rewritable=rewritable, ticker=ticker) return junction_path[-2], junction_path[-1], loader # Print a warning message, checks warning_token against project configuration diff --git a/src/buildstream/_pluginfactory/pluginoriginjunction.py b/src/buildstream/_pluginfactory/pluginoriginjunction.py index 8c1d560fb..4e0a53cfb 100644 --- a/src/buildstream/_pluginfactory/pluginoriginjunction.py +++ b/src/buildstream/_pluginfactory/pluginoriginjunction.py @@ -35,7 +35,7 @@ class PluginOriginJunction(PluginOrigin): # Get access to the project indicated by the junction, # possibly loading it as a side effect. # - loader = self.project.loader.get_loader(self._junction, provenance=self.provenance) + loader = self.project.loader.get_loader(self._junction, self.provenance) project = loader.project project.ensure_fully_loaded() |