projects.py: Preserve order in projects.py

Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
Jan Lindemann 2016-01-26 15:34:19 +00:00
commit 791ad4e5f8

View file

@ -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)