diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-01-12 13:25:36 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2017-01-20 11:52:52 +0000 |
commit | 631229df720dc88047b702452c7ad172421cc1e4 (patch) | |
tree | b06c6eaefc502a0c6feee9fd0c942884a2d213ba /bitbake/lib | |
parent | d8b2257f57f25a2efca06ff3d90c41a0c9903eff (diff) | |
download | poky-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/lib')
-rw-r--r-- | bitbake/lib/bb/event.py | 11 | ||||
-rw-r--r-- | bitbake/lib/bb/parse/ast.py | 1 |
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): | |||
361 | class RecipePreFinalise(RecipeEvent): | 361 | class RecipePreFinalise(RecipeEvent): |
362 | """ Recipe Parsing Complete but not yet finialised""" | 362 | """ Recipe Parsing Complete but not yet finialised""" |
363 | 363 | ||
364 | class 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 | |||
364 | class RecipeParsed(RecipeEvent): | 375 | class 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) |