diff options
author | Tristan van Berkom <tristan@codethink.co.uk> | 2020-10-27 17:10:30 +0900 |
---|---|---|
committer | Tristan Van Berkom <tristan.van.berkom@gmail.com> | 2020-10-27 11:28:02 +0000 |
commit | c5956f5fb7b353355346a154970f539a91629544 (patch) | |
tree | 71eb60505561df26cee8396fed7b740d9022a683 /src/buildstream/_loader | |
parent | ceeca58f96bea79d8163433adec1591de33cfa98 (diff) | |
download | buildstream-c5956f5fb7b353355346a154970f539a91629544.tar.gz |
_loader/loader.py: Fix _load_file() for cross project link element loads.
When loading a link in _load_file(), we should redirect the entire call
to the appropriate loader, the code in place instead was treating the
loaded element as if it were loaded locally, and attempting to load it's
dependencies redundantly.
Diffstat (limited to 'src/buildstream/_loader')
-rw-r--r-- | src/buildstream/_loader/loader.py | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/buildstream/_loader/loader.py b/src/buildstream/_loader/loader.py index 90b7fbe50..13d96ac4e 100644 --- a/src/buildstream/_loader/loader.py +++ b/src/buildstream/_loader/loader.py @@ -423,7 +423,11 @@ class Loader: _, filename, loader = self._parse_name( link_target, top_element.link_target, load_subprojects=load_subprojects ) - top_element = loader._load_file(filename, top_element.link_target, load_subprojects=load_subprojects) + + # Early return, redirect the loading of the file and it's dependencies to the + # appropriate loader. + # + return loader._load_file(filename, top_element.link_target, load_subprojects=load_subprojects) dependencies = extract_depends_from_node(top_element.node) # The loader queue is a stack of tuples |