diff --git a/src/python/jw/build/App.py b/src/python/jw/build/App.py index 8e3d2907..261a30ad 100644 --- a/src/python/jw/build/App.py +++ b/src/python/jw/build/App.py @@ -405,18 +405,6 @@ class App(object): unvisited.remove(module) temp.remove(module) - def run_from_cmd_module(self, name: str, args_) -> None: - import importlib - name = name.replace('-', '_') - cc_name = 'Cmd' + ''.join(x.capitalize() for x in name.lower().split("_")) - module = importlib.import_module('jw.build.cmds.' + cc_name) - cmd = getattr(module, cc_name)() - cmd.app = self - parser = argparse.ArgumentParser(description=name) - cmd.add_arguments(parser) - args = parser.parse_args(args_) - return cmd.run(args) - # -------------------------------------------------------------------- here we go def run(self): @@ -461,4 +449,13 @@ class App(object): if not self.top_name: self.top_name = re.sub('-[0-9.-]*$', '', os.path.basename(os.path.realpath(self.topdir))) - return self.run_from_cmd_module(args.cmd, sys.argv[(len(self.global_args) + 1)::]) + import importlib + cmd_name = args.cmd.replace('-', '_') + cc_cmd_name = 'Cmd' + ''.join(x.capitalize() for x in cmd_name.lower().split("_")) + module = importlib.import_module('jw.build.cmds.' + cc_cmd_name) + cmd = getattr(module, cc_cmd_name)() + cmd.app = self + subparser = argparse.ArgumentParser(description=cmd_name) + cmd.add_arguments(subparser) + args = subparser.parse_args(sys.argv[(len(self.global_args) + 1)::]) + return cmd.run(args)