summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/parse/ast.py
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2018-03-02 18:16:33 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-03-04 11:35:42 +0000
commit20a93757a3c9d7d61eec209577ed3bfb03543198 (patch)
tree2eb7c6e493caeeef2f17fd2b0f1eb27ff393740e /bitbake/lib/bb/parse/ast.py
parentbe4c9df542ef53be4169396517aef0b3873e850b (diff)
downloadpoky-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/parse/ast.py')
-rw-r--r--bitbake/lib/bb/parse/ast.py11
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
338def 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
338def finalize(fn, d, variant = None): 344def 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)