From 56eac6ed2c14158e4f854f304fc875cee867f1b6 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Thu, 14 Feb 2013 21:59:21 +0000 Subject: codeparser: Track bb.utils.contains usage The bb.utils.contains function usage is getting increasingly used in the metadata but isn't handled automatically by the python dependency tracking code. This patch changes that and also adds the "OE" names for the functions. Whilst there are reasons this is a bad idea, its likely outweighed by the shear number of these references and the current holes in dependency information which we're now relying heavily upon. Signed-off-by: Richard Purdie --- lib/bb/codeparser.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/bb/codeparser.py b/lib/bb/codeparser.py index 979e6bdfd..e44e79158 100644 --- a/lib/bb/codeparser.py +++ b/lib/bb/codeparser.py @@ -35,7 +35,7 @@ def check_indent(codestr): class CodeParserCache(MultiProcessCache): cache_file_name = "bb_codeparser.dat" - CACHE_VERSION = 2 + CACHE_VERSION = 3 def __init__(self): MultiProcessCache.__init__(self) @@ -101,6 +101,7 @@ class BufferedLogger(Logger): class PythonParser(): getvars = ("d.getVar", "bb.data.getVar", "data.getVar", "d.appendVar", "d.prependVar") + containsfuncs = ("bb.utils.contains", "base_contains", "oe.utils.contains") execfuncs = ("bb.build.exec_func", "bb.build.exec_task") def warn(self, func, arg): @@ -119,7 +120,7 @@ class PythonParser(): def visit_Call(self, node): name = self.called_node_name(node.func) - if name in self.getvars: + if name in self.getvars or name in self.containsfuncs: if isinstance(node.args[0], ast.Str): self.var_references.add(node.args[0].s) else: -- cgit 1.2.3-korg