from argparse import ArgumentParser, Namespace from ...App import Scope from .Cmd import Cmd, Parent class CmdLdlibpath(Cmd): # export def __init__(self, parent: Parent) -> None: super().__init__(parent, 'ldlibpath', help = 'ldlibpath') def add_arguments(self, parser: ArgumentParser) -> None: super().add_arguments(parser) parser.add_argument('module', nargs = '*', help = 'Modules') async def _run(self, args: Namespace) -> None: deps = self.app.get_project_refs( args.module, ['pkg.requires.jw'], ['run', 'build', 'devel'], scope = Scope.Subtree, add_self = True, names_only = True, ) out = [] for m in deps: path = self.app.find_dir(m, ['/lib']) if path is not None: out.append(path) print(':'.join(out))