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 "<target>:do_<task>" 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 <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie 2014-01-27 14:37:04 +00:00
parent b3bb841fe6
commit 3c5b68356d
1 changed files with 6 additions and 1 deletions

View File

@ -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)