From: Richard Purdie Date: Mon, 27 Jan 2014 14:37:04 +0000 (+0000) Subject: cooker: Add option of specifying indvidual tasks for targets X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=55f6bee3114e582333a1784caeddb197b9163d02;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git 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. Signed-off-by: Richard Purdie --- diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py index db4cb51c8d4..cc7d84ef71f 100644 --- a/lib/bb/cooker.py +++ b/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)