diff mbox series

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

Message ID 20241127154428.775936-1-ross.burton@arm.com
State Accepted, archived
Commit 185c4b803962b20ba65a7d885dfe1a14e68736ef
Headers show
Series bb/build: add a function to list the tasks in a datastore | expand

Commit Message

Ross Burton Nov. 27, 2024, 3:44 p.m. UTC
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.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 bitbake/lib/bb/build.py | 6 ++++++
 1 file changed, 6 insertions(+)
diff mbox series

Patch

diff --git a/bitbake/lib/bb/build.py b/bitbake/lib/bb/build.py
index 9f9285de3d6..6e0459d87ab 100644
--- a/bitbake/lib/bb/build.py
+++ b/bitbake/lib/bb/build.py
@@ -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 ())