From a71f63453402ff96c99ce947948f0489a6be0ed7 Mon Sep 17 00:00:00 2001 From: Masonlet Date: Fri, 14 Nov 2025 23:07:03 -0500 Subject: [PATCH 1/2] Fix config default paths (defaults -> configs.default) --- src/starlet_setup/cli.py | 12 ++++++------ src/starlet_setup/config.py | 2 +- tests/test_cli.py | 10 ++++++---- 3 files changed, 13 insertions(+), 11 deletions(-) diff --git a/src/starlet_setup/cli.py b/src/starlet_setup/cli.py index a6eb72a..3e88c46 100644 --- a/src/starlet_setup/cli.py +++ b/src/starlet_setup/cli.py @@ -13,13 +13,13 @@ def _add_common_args( parser.add_argument( '--ssh', action='store_true', - default=get_config_value(config, 'defaults.ssh', False), + default=get_config_value(config, 'configs.default.ssh', False), help='Use SSH instead of HTTPS for cloning' ) parser.add_argument( '-v', '--verbose', action='store_true', - default=get_config_value(config, 'defaults.verbose', False), + default=get_config_value(config, 'configs.default.verbose', False), help='Show detailed command output' ) parser.add_argument( @@ -76,18 +76,18 @@ def _add_build_args(parser, config: dict[str, Any]) -> None: parser.add_argument( '-b', '--build-type', choices=['Debug', 'Release', 'RelWithDebInfo', 'MinSizeRel'], - default=get_config_value(config, 'defaults.build_type', 'Debug'), + default=get_config_value(config, 'configs.default.build_type', 'Debug'), help='CMake build type (default: %(default)s)' ) parser.add_argument( '-d', '--build-dir', - default=get_config_value(config, 'defaults.build_dir', 'build'), + default=get_config_value(config, 'configs.default.build_dir', 'build'), help='Build directory name (default: %(default)s)' ) parser.add_argument( '-n', '--no-build', action='store_true', - default=get_config_value(config, 'defaults.no_build', False), + default=get_config_value(config, 'configs.default.no_build', False), help='Skip building, only configure' ) parser.add_argument( @@ -105,7 +105,7 @@ def _add_mono_repo_args(parser, config: dict[str, Any]) -> None: ) parser.add_argument( '--mono-dir', - default=get_config_value(config, 'defaults.mono_dir', 'build-mono'), + default=get_config_value(config, 'configs.default.mono_dir', 'build-mono'), help='Directory name for mono-repo cloning (default: %(default)s)' ) parser.add_argument( diff --git a/src/starlet_setup/config.py b/src/starlet_setup/config.py index 69a1589..6271682 100644 --- a/src/starlet_setup/config.py +++ b/src/starlet_setup/config.py @@ -83,7 +83,7 @@ def get_config_value( Args: config: Configuration dictionary - key: Dot-separated key path (e.g, 'defaults.ssh') + key: Dot-separated key path (e.g, 'configs.default.ssh') default: Default value if key not found """ parts = key.split('.') diff --git a/tests/test_cli.py b/tests/test_cli.py index d999b9c..d2cade5 100644 --- a/tests/test_cli.py +++ b/tests/test_cli.py @@ -17,8 +17,10 @@ def test_parses_basic_repository(self): def test_applies_config_defaults(self): """Should use config values as default.""" - config = { - "defaults": {"ssh": True, "verbose": True, "build_type": "Release"} + config = { + "configs": { + "default": {"ssh": True, "verbose": True, "build_type": "Release"} + } } with patch('starlet_setup.cli.load_config', return_value=(config,None)), \ patch('sys.argv', ['prog', 'user/repo']): @@ -30,7 +32,7 @@ def test_applies_config_defaults(self): def test_command_line_overrides_config(self): """Should allow CLI args to override config defaults.""" - config = {"defaults": {"ssh": False}} + config = {"default": {"ssh": False}} with patch('starlet_setup.cli.load_config', return_value=(config, None)), \ patch('sys.argv', ['prog', 'user/repo', '--ssh']): args = parse_args() @@ -98,7 +100,7 @@ def test_parses_cmake_arguments(self): def test_attaches_config_to_args(self): """Should attach loaded config to args namespace.""" - config = {"defaults": {}} + config = {"default": {}} with patch('starlet_setup.cli.load_config', return_value=(config, None)), \ patch('sys.argv', ['prog', 'user/repo']): args = parse_args() From bd7e315a19c94fda4584e435b5e47b5f2e761e7c Mon Sep 17 00:00:00 2001 From: Masonlet Date: Fri, 14 Nov 2025 23:08:07 -0500 Subject: [PATCH 2/2] Bump version to 1.1.1 --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 5624288..7e7fca1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "starlet-setup" -version = "1.1.0" +version = "1.1.1" description = "Quick setup for CMake projects" readme = "README.md" requires-python = ">=3.6"