aboutsummaryrefslogtreecommitdiffstats
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-03 08:43:32 +0000
commitc6be487f9bd5d95915f2495d555b9f539adb1d44 (patch)
tree7bdfd263ae0e98b9ccb64c8df8476f669fb1421f
parent4cfca360891e1ed876a9c19487b4f6210686af26 (diff)
downloadbitbake-contrib-c6be487f9bd5d95915f2495d555b9f539adb1d44.tar.gz
parse/ast: Abstract anonymous function execution into a function
This allows us to call this code from other contexts without duplicating it. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--lib/bb/parse/ast.py11
1 files changed, 7 insertions, 4 deletions
diff --git a/lib/bb/parse/ast.py b/lib/bb/parse/ast.py
index dba4540f5..6690dc51c 100644
--- a/lib/bb/parse/ast.py
+++ b/lib/bb/parse/ast.py
@@ -335,6 +335,12 @@ def handleInherit(statements, filename, lineno, m):
classes = m.group(1)
statements.append(InheritNode(filename, lineno, classes))
+def runAnonFuncs(d):
+ code = []
+ for funcname in d.getVar("__BBANONFUNCS", False) or []:
+ code.append("%s(d)" % funcname)
+ bb.utils.better_exec("\n".join(code), {"d": d})
+
def finalize(fn, d, variant = None):
saved_handlers = bb.event.get_handlers().copy()
@@ -349,10 +355,7 @@ def finalize(fn, d, variant = None):
bb.event.fire(bb.event.RecipePreFinalise(fn), d)
bb.data.expandKeys(d)
- code = []
- for funcname in d.getVar("__BBANONFUNCS", False) or []:
- code.append("%s(d)" % funcname)
- bb.utils.better_exec("\n".join(code), {"d": d})
+ runAnonFuncs(d)
tasklist = d.getVar('__BBTASKS', False) or []
bb.event.fire(bb.event.RecipeTaskPreProcess(fn, list(tasklist)), d)