diff options
| author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-03-02 18:16:33 +0000 |
|---|---|---|
| committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-03-04 11:35:42 +0000 |
| commit | 20a93757a3c9d7d61eec209577ed3bfb03543198 (patch) | |
| tree | 2eb7c6e493caeeef2f17fd2b0f1eb27ff393740e /bitbake/lib/bb | |
| parent | be4c9df542ef53be4169396517aef0b3873e850b (diff) | |
| download | poky-20a93757a3c9d7d61eec209577ed3bfb03543198.tar.gz | |
bitbake: parse/ast: Abstract anonymous function execution into a function
This allows us to call this code from other contexts without
duplicating it.
(Bitbake rev: c6be487f9bd5d95915f2495d555b9f539adb1d44)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb')
| -rw-r--r-- | bitbake/lib/bb/parse/ast.py | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/bitbake/lib/bb/parse/ast.py b/bitbake/lib/bb/parse/ast.py index dba4540f5e..6690dc51c2 100644 --- a/bitbake/lib/bb/parse/ast.py +++ b/bitbake/lib/bb/parse/ast.py | |||
| @@ -335,6 +335,12 @@ def handleInherit(statements, filename, lineno, m): | |||
| 335 | classes = m.group(1) | 335 | classes = m.group(1) |
| 336 | statements.append(InheritNode(filename, lineno, classes)) | 336 | statements.append(InheritNode(filename, lineno, classes)) |
| 337 | 337 | ||
| 338 | def runAnonFuncs(d): | ||
| 339 | code = [] | ||
| 340 | for funcname in d.getVar("__BBANONFUNCS", False) or []: | ||
| 341 | code.append("%s(d)" % funcname) | ||
| 342 | bb.utils.better_exec("\n".join(code), {"d": d}) | ||
| 343 | |||
| 338 | def finalize(fn, d, variant = None): | 344 | def finalize(fn, d, variant = None): |
| 339 | saved_handlers = bb.event.get_handlers().copy() | 345 | saved_handlers = bb.event.get_handlers().copy() |
| 340 | 346 | ||
| @@ -349,10 +355,7 @@ def finalize(fn, d, variant = None): | |||
| 349 | bb.event.fire(bb.event.RecipePreFinalise(fn), d) | 355 | bb.event.fire(bb.event.RecipePreFinalise(fn), d) |
| 350 | 356 | ||
| 351 | bb.data.expandKeys(d) | 357 | bb.data.expandKeys(d) |
| 352 | code = [] | 358 | runAnonFuncs(d) |
| 353 | for funcname in d.getVar("__BBANONFUNCS", False) or []: | ||
| 354 | code.append("%s(d)" % funcname) | ||
| 355 | bb.utils.better_exec("\n".join(code), {"d": d}) | ||
| 356 | 359 | ||
| 357 | tasklist = d.getVar('__BBTASKS', False) or [] | 360 | tasklist = d.getVar('__BBTASKS', False) or [] |
| 358 | bb.event.fire(bb.event.RecipeTaskPreProcess(fn, list(tasklist)), d) | 361 | bb.event.fire(bb.event.RecipeTaskPreProcess(fn, list(tasklist)), d) |
