summaryrefslogtreecommitdiff
path: root/src/buildstream/_loader/loader.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildstream/_loader/loader.py')
-rw-r--r--src/buildstream/_loader/loader.py6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/buildstream/_loader/loader.py b/src/buildstream/_loader/loader.py
index 3b18af691..0c6c725c7 100644
--- a/src/buildstream/_loader/loader.py
+++ b/src/buildstream/_loader/loader.py
@@ -141,10 +141,14 @@ class Loader:
#
# Sort direct dependencies of elements by their dependency ordering
#
+
+ # Keep a list of all visited elements, to not sort twice the same
+ visited_elements = set()
+
for element in target_elements:
loader = element._loader
with PROFILER.profile(Topics.SORT_DEPENDENCIES, element.name):
- loadelement.sort_dependencies(element)
+ loadelement.sort_dependencies(element, visited_elements)
# Finally, wrap what we have into LoadElements and return the target
#