summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/bb/event.py11
-rw-r--r--lib/bb/parse/ast.py1
2 files changed, 12 insertions, 0 deletions
diff --git a/lib/bb/event.py b/lib/bb/event.py
index e2ca33ea63..6d8493b175 100644
--- a/lib/bb/event.py
+++ b/lib/bb/event.py
@@ -361,6 +361,17 @@ class RecipeEvent(Event):
class RecipePreFinalise(RecipeEvent):
""" Recipe Parsing Complete but not yet finialised"""
+class RecipeTaskPreProcess(RecipeEvent):
+ """
+ Recipe Tasks about to be finalised
+ The list of tasks should be final at this point and handlers
+ are only able to change interdependencies
+ """
+ def __init__(self, fn, tasklist):
+ self.fn = fn
+ self.tasklist = tasklist
+ Event.__init__(self)
+
class RecipeParsed(RecipeEvent):
""" Recipe Parsing Complete """
diff --git a/lib/bb/parse/ast.py b/lib/bb/parse/ast.py
index 853dda86b4..8b5b36619d 100644
--- a/lib/bb/parse/ast.py
+++ b/lib/bb/parse/ast.py
@@ -358,6 +358,7 @@ def finalize(fn, d, variant = None):
bb.data.update_data(d)
tasklist = d.getVar('__BBTASKS', False) or []
+ bb.event.fire(bb.event.RecipeTaskPreProcess(fn, list(tasklist)), d)
bb.build.add_tasks(tasklist, d)
bb.parse.siggen.finalise(fn, d, variant)