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.py7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/buildstream/_loader/loader.py b/src/buildstream/_loader/loader.py
index 161a8cc08..e279501ff 100644
--- a/src/buildstream/_loader/loader.py
+++ b/src/buildstream/_loader/loader.py
@@ -521,6 +521,11 @@ class Loader():
element = element_queue.pop()
meta_element = meta_element_queue.pop()
+ if element.meta_done:
+ # This can happen if there are multiple top level targets
+ # in which case, we simply skip over this element.
+ continue
+
for dep in element.dependencies:
loader = dep.element._loader
@@ -538,6 +543,8 @@ class Loader():
if dep.dep_type != 'build':
meta_element.dependencies.append(meta_dep)
+ element.meta_done = True
+
return self._meta_elements[top_element.name]
# _get_loader():