projects.py: Add print_pkg_relations()

print_pkg_relations() does what pkg_relations() did before: print
the relations. pkg_relations() now only returns them, to be used
by a derived class, for instance

Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
Jan Lindemann 2019-06-15 15:20:01 +00:00
commit 405a61b9be

View file

@ -141,7 +141,7 @@ class Projects(object):
def os_cascade(self): def os_cascade(self):
if self.glob_os_cascade is not None: if self.glob_os_cascade is not None:
return self.glob_os_cascade return self.glob_os_cascade.copy()
r = [ 'os', platform.system().lower() ] r = [ 'os', platform.system().lower() ]
os = self.opt_os if self.opt_os is not None else self.res_cache.run(self.get_os, []) os = self.opt_os if self.opt_os is not None else self.res_cache.run(self.get_os, [])
name = re.sub('-.*', '', os) name = re.sub('-.*', '', os)
@ -389,7 +389,10 @@ class Projects(object):
cleaned_dep = ' '.join(dep) cleaned_dep = ' '.join(dep)
if not cleaned_dep in r: if not cleaned_dep in r:
r.append(cleaned_dep) r.append(cleaned_dep)
print(args.delimiter.join(r)) return args.delimiter.join(r)
def print_pkg_relations(self, rel_type, args_):
print(self.pkg_relations(rel_type, args_))
def get_libname(self, names): def get_libname(self, names):
vals = self.get_modules_from_project_txt(names, ['build'], 'libname', vals = self.get_modules_from_project_txt(names, ['build'], 'libname',
@ -708,7 +711,7 @@ class Projects(object):
r = r + ':' + self.proj_dir(m) + '/bin' r = r + ':' + self.proj_dir(m) + '/bin'
print(r[1:]) print(r[1:])
# TODO: seems at least partly redundant to cmd_pkg_requires / pkg_relations # TODO: seems at least partly redundant to cmd_pkg_requires / print_pkg_relations
def cmd_prereq(self, args_): def cmd_prereq(self, args_):
parser = argparse.ArgumentParser(description='path') parser = argparse.ArgumentParser(description='path')
parser.add_argument('flavour', help='Flavour') parser.add_argument('flavour', help='Flavour')
@ -718,7 +721,7 @@ class Projects(object):
args.flavour, scope = 2, add_self=False, names_only=True) args.flavour, scope = 2, add_self=False, names_only=True)
print(' '.join(deps)) print(' '.join(deps))
# TODO: seems at least partly redundant to cmd_pkg_requires / pkg_relations # TODO: seems at least partly redundant to cmd_pkg_requires / print_pkg_relations
def cmd_required_os_pkg(self, args_): def cmd_required_os_pkg(self, args_):
parser = argparse.ArgumentParser(description='required-os-pkg') parser = argparse.ArgumentParser(description='required-os-pkg')
parser.add_argument('module', nargs='*', help='Modules') parser.add_argument('module', nargs='*', help='Modules')
@ -750,13 +753,13 @@ class Projects(object):
print(r[1:]) print(r[1:])
def cmd_pkg_requires(self, args_): def cmd_pkg_requires(self, args_):
return self.pkg_relations("requires", args_) return self.print_pkg_relations("requires", args_)
def cmd_pkg_conflicts(self, args_): def cmd_pkg_conflicts(self, args_):
return self.pkg_relations("conflicts", args_) return self.print_pkg_relations("conflicts", args_)
def cmd_pkg_provides(self, args_): def cmd_pkg_provides(self, args_):
return self.pkg_relations("provides", args_) return self.print_pkg_relations("provides", args_)
def cmd_proj_dir(self, args_): def cmd_proj_dir(self, args_):
parser = argparse.ArgumentParser(description='proj-dir') parser = argparse.ArgumentParser(description='proj-dir')