bitbake: bb/build: add a function to list the tasks in a datastore

There's no easy way to list all of the tasks in a recipe, you can either
look at __BBTASKS (internal variable, shouldn't be used) or iterate all
items in the datastore looking for variables with the 'task' flag set
(which is slow).

Solve this problem by adding a bb.build.listtasks() function that
returns an immutable copy of the __BBTASSK variable.

(Bitbake rev: 185c4b803962b20ba65a7d885dfe1a14e68736ef)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ross Burton 2024-11-27 15:44:28 +00:00 committed by Richard Purdie
parent a8a11cbc79
commit ef5aaedf2a

View File

@ -1028,3 +1028,9 @@ def tasksbetween(task_start, task_end, d):
chain.pop()
follow_chain(task_start, task_end)
return outtasks
def listtasks(d):
"""
Return the list of tasks in the current recipe.
"""
return tuple(d.getVar('__BBTASKS', False) or ())