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 r[0]
return None 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): names_only):
if name in buf: name = strip_module_from_spec(spec)
if names_only:
spec = name
if spec in buf:
return return
if recursive: if recursive:
deps = get_value(name, section, key) deps = get_value(name, section, key)
if deps: if deps:
deps = deps.split(',') deps = deps.split(',')
for dep in deps: for dep in deps:
mod = strip_module_from_spec(dep) add_modules_from_project_txt(buf, dep,
add_modules_from_project_txt(buf, mod,
section, key, add_self=True, recursive=True, section, key, add_self=True, recursive=True,
names_only=names_only) names_only=names_only)
if names_only:
buf.add(mod)
else:
buf.add(dep)
if add_self: if add_self:
buf.add(name) buf.append(name)
def get_modules_from_project_txt(names, section, key, add_self, recursive, def get_modules_from_project_txt(names, section, key, add_self, recursive,
names_only = True): names_only = True):
r = Set() #r = Set()
r = []
for name in names: for name in names:
add_modules_from_project_txt(r, name, section, key, add_self, recursive, add_modules_from_project_txt(r, name, section, key, add_self, recursive,
names_only) names_only)