diff options
author | Tristan van Berkom <tristan.vanberkom@codethink.co.uk> | 2020-08-13 19:01:00 +0900 |
---|---|---|
committer | Tristan van Berkom <tristan@codethink.co.uk> | 2020-10-01 13:27:30 +0900 |
commit | 751c80d4938b7c3a798d056134f58844242939b3 (patch) | |
tree | a31bd535be946b3032d22b6296a49b735ba5e2b1 /src/buildstream/_loader/loadcontext.py | |
parent | 348108d933be748727ee8aec861ecd5c168db72e (diff) | |
download | buildstream-tristan/lazy-provenance.tar.gz |
Refactor: Lazily instantiate ProvenanceInformation objectstristan/lazy-provenance
As a rule, throughout the codebase we should not be using internal
ProvenanceInformation objects in our APIs, but rather Node objects.
This is because ProvenanceInformation is generated on the fly from
a Node object, and it is needlessly expensive to instantiate one before
it is absolutely needed.
This patch unilaterally fixes the codebase to pass `provenance_node`
Node objects around as arguments rather than `provenance` ProvenanceInformation
objects.
Diffstat (limited to 'src/buildstream/_loader/loadcontext.py')
-rw-r--r-- | src/buildstream/_loader/loadcontext.py | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/buildstream/_loader/loadcontext.py b/src/buildstream/_loader/loadcontext.py index 4e6c9bca6..a9eb4a7b7 100644 --- a/src/buildstream/_loader/loadcontext.py +++ b/src/buildstream/_loader/loadcontext.py @@ -87,7 +87,7 @@ class ProjectLoaders: for loader in self._collect: duplicating, internalizing = self._search_project_relationships(loader) yield _ProjectInformation( - loader.project, loader.provenance, [str(l) for l in duplicating], [str(l) for l in internalizing] + loader.project, loader.provenance_node, [str(l) for l in duplicating], [str(l) for l in internalizing] ) # _search_project_relationships() |