summaryrefslogtreecommitdiff
path: root/src/buildstream/element.py
diff options
context:
space:
mode:
Diffstat (limited to 'src/buildstream/element.py')
-rw-r--r--src/buildstream/element.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/buildstream/element.py b/src/buildstream/element.py
index 08326c6f3..3d8d01434 100644
--- a/src/buildstream/element.py
+++ b/src/buildstream/element.py
@@ -962,12 +962,13 @@ class Element(Plugin):
#
# Args:
# meta (MetaElement): The meta element
+ # progress (Progress): An object to report progress to
#
# Returns:
# (Element): A newly created Element instance
#
@classmethod
- def _new_from_meta(cls, meta):
+ def _new_from_meta(cls, meta, progress=None):
if not meta.first_pass:
meta.project.ensure_fully_loaded()
@@ -993,15 +994,18 @@ class Element(Plugin):
# Instantiate dependencies
for meta_dep in meta.dependencies:
- dependency = Element._new_from_meta(meta_dep)
+ dependency = Element._new_from_meta(meta_dep, progress)
element.__runtime_dependencies.append(dependency)
dependency.__reverse_dependencies.add(element)
for meta_dep in meta.build_dependencies:
- dependency = Element._new_from_meta(meta_dep)
+ dependency = Element._new_from_meta(meta_dep, progress)
element.__build_dependencies.append(dependency)
dependency.__reverse_dependencies.add(element)
+ if progress:
+ progress.add_progress(1)
+
return element
# _clear_meta_elements_cache()