From 69bcd617b2a73bdc8fca08d6c05d4b645a398a9e Mon Sep 17 00:00:00 2001 From: Jan Lindemann Date: Tue, 26 Jan 2016 15:20:48 +0000 Subject: [PATCH] projects.py: Fix recursion Signed-off-by: Jan Lindemann --- scripts/projects.py | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/scripts/projects.py b/scripts/projects.py index 69038d73..68e55ea3 100644 --- a/scripts/projects.py +++ b/scripts/projects.py @@ -68,22 +68,23 @@ def get_value(name, section, key): def add_modules_from_project_txt(buf, name, section, key, add_self, recursive, names_only): - #if name in buf: - # return + if name in buf: + return + if recursive: + deps = get_value(name, section, key) + if deps: + deps = deps.split(',') + for dep in deps: + mod = strip_module_from_spec(dep) + add_modules_from_project_txt(buf, mod, + section, key, add_self=True, recursive=True, + names_only=names_only) + if names_only: + buf.add(mod) + else: + buf.add(dep) if add_self: buf.add(name) - deps = get_value(name, section, key) - if not deps: - return - deps = deps.split(',') - for dep in deps: - if names_only: - buf.add(strip_module_from_spec(dep)) - else: - buf.add(dep) - if recursive: - add_modules_from_project_txt(buf, strip_module_from_spec(dep), - section, key, True, recursive, names_only) def get_modules_from_project_txt(names, section, key, add_self, recursive, names_only = True):