diff --git a/scripts/projects.py b/scripts/projects.py index 68e55ea3..266f6b43 100644 --- a/scripts/projects.py +++ b/scripts/projects.py @@ -66,29 +66,28 @@ def get_value(name, section, key): return r[0] return None -def add_modules_from_project_txt(buf, name, section, key, add_self, recursive, +def add_modules_from_project_txt(buf, spec, section, key, add_self, recursive, names_only): - if name in buf: + name = strip_module_from_spec(spec) + if names_only: + spec = name + if spec 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, + add_modules_from_project_txt(buf, dep, 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) + buf.append(name) def get_modules_from_project_txt(names, section, key, add_self, recursive, names_only = True): - r = Set() + #r = Set() + r = [] for name in names: add_modules_from_project_txt(r, name, section, key, add_self, recursive, names_only)