summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/bb/cooker.py5
-rw-r--r--lib/bb/runqueue.py5
2 files changed, 9 insertions, 1 deletions
diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py
index 8776e187e..dd45ae817 100644
--- a/lib/bb/cooker.py
+++ b/lib/bb/cooker.py
@@ -81,7 +81,7 @@ class SkippedPackage:
class CookerFeatures(object):
- _feature_list = [HOB_EXTRA_CACHES] = range(1)
+ _feature_list = [HOB_EXTRA_CACHES, SEND_DEPENDS_TREE] = range(2)
def __init__(self):
self._features=set()
@@ -457,7 +457,10 @@ class BBCooker:
runlist, taskdata = self.prepareTreeData(pkgs_to_build, task)
rq = bb.runqueue.RunQueue(self, self.data, self.recipecache, taskdata, runlist)
rq.rqdata.prepare()
+ return self.buildDependTree(rq, taskdata)
+
+ def buildDependTree(self, rq, taskdata):
seen_fnids = []
depend_tree = {}
depend_tree["depends"] = {}
diff --git a/lib/bb/runqueue.py b/lib/bb/runqueue.py
index 6346c7711..472509fa1 100644
--- a/lib/bb/runqueue.py
+++ b/lib/bb/runqueue.py
@@ -999,6 +999,11 @@ class RunQueue:
else:
self.state = runQueueSceneInit
+ # we are ready to run, see if any UI client needs the dependency info
+ if bb.cooker.CookerFeatures.SEND_DEPENDS_TREE in self.cooker.featureset:
+ depgraph = self.cooker.buildDependTree(self, self.rqdata.taskData)
+ bb.event.fire(bb.event.DepTreeGenerated(depgraph), self.cooker.data)
+
if self.state is runQueueSceneInit:
if self.cooker.configuration.dump_signatures:
self.dump_signatures()