Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
12 changes: 6 additions & 6 deletions src/starlet_setup/cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -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(
Expand Down Expand Up @@ -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(
Expand All @@ -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(
Expand Down
2 changes: 1 addition & 1 deletion src/starlet_setup/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -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('.')
Expand Down
10 changes: 6 additions & 4 deletions tests/test_cli.py
Original file line number Diff line number Diff line change
Expand Up @@ -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']):
Expand All @@ -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()
Expand Down Expand Up @@ -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()
Expand Down