From 3c5b68356ddd3440375fd0f70b98b476042f2502 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Mon, 27 Jan 2014 14:37:04 +0000 Subject: bitbake: cooker: Add option of specifying indvidual tasks for targets Currently its near enough impossible to tell bitbake to run target X, task Y and target A, task B. We could hack various parts of the API around but it would mean incompatibilities. An alternative is to accept the syntax ":do_" as a target name. The default task would be used where the task is unspecified. This has the advantage that its neat/clean code and works from all current APIs including the commandline. (Bitbake rev: 55f6bee3114e582333a1784caeddb197b9163d02) Signed-off-by: Richard Purdie --- bitbake/lib/bb/cooker.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'bitbake') diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py index db4cb51c8d..cc7d84ef71 100644 --- a/bitbake/lib/bb/cooker.py +++ b/bitbake/lib/bb/cooker.py @@ -449,9 +449,14 @@ class BBCooker: current = 0 runlist = [] for k in fulltargetlist: + ktask = task + if ":do_" in k: + k2 = k.split(":do_") + k = k2[0] + ktask = k2[1] taskdata.add_provider(localdata, self.recipecache, k) current += 1 - runlist.append([k, "do_%s" % task]) + runlist.append([k, "do_%s" % ktask]) bb.event.fire(bb.event.TreeDataPreparationProgress(current, len(fulltargetlist)), self.data) taskdata.add_unresolved(localdata, self.recipecache) bb.event.fire(bb.event.TreeDataPreparationCompleted(len(fulltargetlist)), self.data) -- cgit v1.2.3-54-g00ecf