summaryrefslogtreecommitdiffstats
path: root/bitbake
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2017-01-12 13:25:36 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-01-20 11:52:52 +0000
commit631229df720dc88047b702452c7ad172421cc1e4 (patch)
treeb06c6eaefc502a0c6feee9fd0c942884a2d213ba /bitbake
parentd8b2257f57f25a2efca06ff3d90c41a0c9903eff (diff)
downloadpoky-631229df720dc88047b702452c7ad172421cc1e4.tar.gz
bitbake: event/ast: Add RecipeTaskPreProcess event before task finalisation
There are various pieces of code which need to run after the tasks are finalised but before bitbake locks in on the task dependencies. This adds such an event so dependency changes in anonymous python can be accounted for and acted upon by these specific event handlers. (Bitbake rev: 4dcd0e53f5ff4bf4f2d6cbdc51ff33a5f5f206af) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake')
-rw-r--r--bitbake/lib/bb/event.py11
-rw-r--r--bitbake/lib/bb/parse/ast.py1
2 files changed, 12 insertions, 0 deletions
diff --git a/bitbake/lib/bb/event.py b/bitbake/lib/bb/event.py
index e2ca33ea63..6d8493b175 100644
--- a/bitbake/lib/bb/event.py
+++ b/bitbake/lib/bb/event.py
@@ -361,6 +361,17 @@ class RecipeEvent(Event):
361class RecipePreFinalise(RecipeEvent): 361class RecipePreFinalise(RecipeEvent):
362 """ Recipe Parsing Complete but not yet finialised""" 362 """ Recipe Parsing Complete but not yet finialised"""
363 363
364class RecipeTaskPreProcess(RecipeEvent):
365 """
366 Recipe Tasks about to be finalised
367 The list of tasks should be final at this point and handlers
368 are only able to change interdependencies
369 """
370 def __init__(self, fn, tasklist):
371 self.fn = fn
372 self.tasklist = tasklist
373 Event.__init__(self)
374
364class RecipeParsed(RecipeEvent): 375class RecipeParsed(RecipeEvent):
365 """ Recipe Parsing Complete """ 376 """ Recipe Parsing Complete """
366 377
diff --git a/bitbake/lib/bb/parse/ast.py b/bitbake/lib/bb/parse/ast.py
index 853dda86b4..8b5b36619d 100644
--- a/bitbake/lib/bb/parse/ast.py
+++ b/bitbake/lib/bb/parse/ast.py
@@ -358,6 +358,7 @@ def finalize(fn, d, variant = None):
358 bb.data.update_data(d) 358 bb.data.update_data(d)
359 359
360 tasklist = d.getVar('__BBTASKS', False) or [] 360 tasklist = d.getVar('__BBTASKS', False) or []
361 bb.event.fire(bb.event.RecipeTaskPreProcess(fn, list(tasklist)), d)
361 bb.build.add_tasks(tasklist, d) 362 bb.build.add_tasks(tasklist, d)
362 363
363 bb.parse.siggen.finalise(fn, d, variant) 364 bb.parse.siggen.finalise(fn, d, variant)