From 5d0797394053b84551e7d80183120354559bae69 Mon Sep 17 00:00:00 2001 From: edraft Date: Sun, 19 Oct 2025 19:32:14 +0200 Subject: [PATCH] Fixed init command regarding package handling --- src/cli/cpl/cli/command/structure/init.py | 5 +++-- src/cli/cpl/cli/utils/structure.py | 21 +++++++++++---------- 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/src/cli/cpl/cli/command/structure/init.py b/src/cli/cpl/cli/command/structure/init.py index 2e946e72..c33a5401 100644 --- a/src/cli/cpl/cli/command/structure/init.py +++ b/src/cli/cpl/cli/command/structure/init.py @@ -12,7 +12,8 @@ from cpl.core.console import Console @click.command("init") @click.argument("target", required=False) @click.argument("name", required=False) -def init(target: str, name: str): +@click.option("--verbose", "-v", is_flag=True, help="Enable verbose output") +def init(target: str, name: str, verbose: bool = False): workspace = None project = None @@ -32,7 +33,7 @@ def init(target: str, name: str): elif target in PROJECT_TYPES: workspace = Structure.find_workspace_in_path(Path(name or "./").parent, with_parents=True) project = Structure.init_project( - "./", name or click.prompt("Project name", default=f"my-{target}"), target, workspace + "./", name or click.prompt("Project name", default=f"my-{target}"), target, workspace, verbose=verbose ) else: Console.error(f"Unknown target '{target}'") diff --git a/src/cli/cpl/cli/utils/structure.py b/src/cli/cpl/cli/utils/structure.py index 1a2116da..d8ea7c5d 100644 --- a/src/cli/cpl/cli/utils/structure.py +++ b/src/cli/cpl/cli/utils/structure.py @@ -116,7 +116,7 @@ class Structure: return workspace @staticmethod - def init_project(rel_path: str, name: str, project_type: str, workspace: Workspace | None, verbose=False): + def init_project(rel_path: str, name: str, project_type: str, workspace: Workspace | None, install_deps=False, verbose=False): if not Path(rel_path).exists(): rel_path = click.prompt("Project directory", type=click.Path(exists=True, file_okay=False), default="src") @@ -139,16 +139,17 @@ class Structure: project.save() - from cpl.cli.command.package.install import install + if install_deps: + from cpl.cli.command.package.install import install - old_cwd = os.getcwd() - os.chdir(Path(workspace.path).parent) - install.callback(f"cpl-cli>={cli.__version__}", project.name, dev=True, verbose=verbose) - if project_type in Structure._dependency_map: - for package in Structure._dependency_map[project_type]: - install.callback(package, project.name, dev=False, verbose=verbose) + old_cwd = os.getcwd() + os.chdir(Path(workspace.path).parent) + install.callback(f"cpl-cli>={cli.__version__}", project.name, dev=True, verbose=verbose) + if project_type in Structure._dependency_map: + for package in Structure._dependency_map[project_type]: + install.callback(package, project.name, dev=False, verbose=verbose) - os.chdir(old_cwd) + os.chdir(old_cwd) if workspace is not None: rel_path = str(path.resolve().absolute().relative_to(Path(workspace.path).parent)) @@ -199,4 +200,4 @@ class Structure: shutil.copy(src_file, tgt_file) Console.write_line() - Structure.init_project(str(path), name, project_type, workspace) + Structure.init_project(str(path), name, project_type, workspace, install_deps=True, verbose=verbose)