diff options
-rw-r--r-- | lib/bb/cooker.py | 5 | ||||
-rw-r--r-- | lib/bb/runqueue.py | 5 |
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() |