]> code.ossystems Code Review - openembedded-core.git/commitdiff
bitbake: [parser] Move the finalise into the ast as well
authorHolger Freyther <ich@tamarin.(none)>
Mon, 18 May 2009 17:56:36 +0000 (19:56 +0200)
committerRichard Purdie <rpurdie@linux.intel.com>
Mon, 15 Feb 2010 17:06:55 +0000 (17:06 +0000)
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
bitbake/lib/bb/parse/ast.py
bitbake/lib/bb/parse/parse_py/BBHandler.py

index 8e7ba7fde88c515b4390a87373bd28d9704dc301..f21b0aeb45c11fd28084656a24e2dfae91cfa66c 100644 (file)
@@ -197,3 +197,42 @@ def handleInherit(statements, m, d):
     n = __word__.findall(files)
     bb.parse.BBHandler.inherit(statements, n, d)
 
+def finalise(fn, d):
+    bb.data.expandKeys(d)
+    bb.data.update_data(d)
+    anonqueue = bb.data.getVar("__anonqueue", d, 1) or []
+    body = [x['content'] for x in anonqueue]
+    flag = { 'python' : 1, 'func' : 1 }
+    bb.data.setVar("__anonfunc", "\n".join(body), d)
+    bb.data.setVarFlags("__anonfunc", flag, d)
+    from bb import build
+    try:
+        t = bb.data.getVar('T', d)
+        bb.data.setVar('T', '${TMPDIR}/anonfunc/', d)
+        anonfuncs = bb.data.getVar('__BBANONFUNCS', d) or []
+        code = ""
+        for f in anonfuncs:
+            code = code + "    %s(d)\n" % f
+        bb.data.setVar("__anonfunc", code, d)        
+        build.exec_func("__anonfunc", d)
+        bb.data.delVar('T', d)
+        if t:
+            bb.data.setVar('T', t, d)
+    except Exception, e:
+        bb.msg.debug(1, bb.msg.domain.Parsing, "Exception when executing anonymous function: %s" % e)
+        raise
+    bb.data.delVar("__anonqueue", d)
+    bb.data.delVar("__anonfunc", d)
+    bb.data.update_data(d)
+
+    all_handlers = {} 
+    for var in bb.data.getVar('__BBHANDLERS', d) or []:
+        # try to add the handler
+        handler = bb.data.getVar(var,d)
+        bb.event.register(var, handler)
+
+    tasklist = bb.data.getVar('__BBTASKS', d) or []
+    bb.build.add_tasks(tasklist, d)
+
+    bb.event.fire(bb.event.RecipeParsed(fn), d)
+
index 46413c5dc34f69c793f211d42f257d57a345aeaf..bb868d1c57f7e7ff6ab4d239c6cd4e32ed75514c 100644 (file)
@@ -75,47 +75,6 @@ def inherit(statements, files, d):
             include(statements, fn, file, d, "inherit")
             __inherit_cache = data.getVar('__inherit_cache', d) or []
 
-
-def finalise(fn, d):
-    data.expandKeys(d)
-    data.update_data(d)
-    anonqueue = data.getVar("__anonqueue", d, 1) or []
-    body = [x['content'] for x in anonqueue]
-    flag = { 'python' : 1, 'func' : 1 }
-    data.setVar("__anonfunc", "\n".join(body), d)
-    data.setVarFlags("__anonfunc", flag, d)
-    from bb import build
-    try:
-        t = data.getVar('T', d)
-        data.setVar('T', '${TMPDIR}/anonfunc/', d)
-        anonfuncs = data.getVar('__BBANONFUNCS', d) or []
-        code = ""
-        for f in anonfuncs:
-            code = code + "    %s(d)\n" % f
-        data.setVar("__anonfunc", code, d)        
-        build.exec_func("__anonfunc", d)
-        data.delVar('T', d)
-        if t:
-            data.setVar('T', t, d)
-    except Exception, e:
-        bb.msg.debug(1, bb.msg.domain.Parsing, "Exception when executing anonymous function: %s" % e)
-        raise
-    data.delVar("__anonqueue", d)
-    data.delVar("__anonfunc", d)
-    data.update_data(d)
-
-    all_handlers = {} 
-    for var in data.getVar('__BBHANDLERS', d) or []:
-        # try to add the handler
-        handler = data.getVar(var,d)
-        bb.event.register(var, handler)
-
-    tasklist = data.getVar('__BBTASKS', d) or []
-    bb.build.add_tasks(tasklist, d)
-
-    bb.event.fire(bb.event.RecipeParsed(fn), d)
-
-
 def handle(fn, d, include, statements):
     global __func_start_regexp__, __inherit_regexp__, __export_func_regexp__, __addtask_regexp__, __addhandler_regexp__, __infunc__, __body__, __residue__
     __body__ = []
@@ -174,7 +133,7 @@ def handle(fn, d, include, statements):
             else:
                 based = d
             try:
-                finalise(fn, based)
+                ast.finalise(fn, based)
             except bb.parse.SkipPackage:
                 bb.data.setVar("__SKIPPED", True, based)
             darray = {"": based}
@@ -185,7 +144,7 @@ def handle(fn, d, include, statements):
                 data.setVar('PN', pn + '-' + cls, based)
                 inherit(statements, [cls], based)
                 try:
-                    finalise(fn, based)
+                    ast.finalise(fn, based)
                 except bb.parse.SkipPackage:
                     bb.data.setVar("__SKIPPED", True, based)
                 darray[cls] = based