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
36 changes: 18 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -252,7 +252,7 @@ This flag tells your test repository to link against local modules instead of fe
if(NOT BUILD_LOCAL)
# Fetch dependencies from GitHub
FetchContent_Declare(starlet_engine
GIT_REPOSITORY https://github.com/masonlet/starlet-engine.git
GIT_REPOSITORY https://github.com/starlet-libs/engine.git
GIT_TAG main
)
# ... other dependencies
Expand Down Expand Up @@ -301,29 +301,29 @@ starlet-setup username/repo --mono-repo --cmake-arg=-DCMAKE_CXX_COMPILER=clang++

#### Default Repositories (🚀 Starlet Ecosystem)
When using mono-repo mode without `--repos` or `--profile`, the script clones repositories based on your configuration. The default profile includes:
- `masonlet/starlet-math`
- `masonlet/starlet-logger`
- `masonlet/starlet-controls`
- `masonlet/starlet-scene`
- `masonlet/starlet-graphics`
- `masonlet/starlet-serializer`
- `masonlet/starlet-engine`
- `starlet-libs/math`
- `starlet-libs/logger`
- `starlet-libs/controls`
- `starlet-libs/scene`
- `starlet-libs/graphics`
- `starlet-libs/serializer`
- `starlet-libs/engine`
- Your specified test repository (e.g., `masonlet/starlet-samples`)

#### Mono-Repo Structure
Mono-repo mode creates a workspace like this:
```
build-mono/
├── CMakeLists.txt # Auto-generated root project
├── starlet-math/
├── starlet-logger/
├── starlet-controls/
├── starlet-scene/
├── starlet-graphics/
├── starlet-serializer/
├── starlet-engine/
├── starlet-samples/ # Your test repo
└── build/ # Single build output
├── CMakeLists.txt # Auto-generated root project
├── math/
├── logger/
├── controls/
├── scene/
├── graphics/
├── serializer/
├── engine/
├── starlet-samples/ # Your test repo
└── build/ # Single build output
```

This structure allows you to:
Expand Down
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.2.1"
version = "1.2.2"
description = "Quick setup for CMake projects"
readme = "README.md"
requires-python = ">=3.6"
Expand Down
16 changes: 8 additions & 8 deletions src/starlet_setup/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -111,13 +111,13 @@ def create_default_config() -> None:
},
"profiles": {
"default": [
"masonlet/starlet-math",
"masonlet/starlet-logger",
"masonlet/starlet-controls",
"masonlet/starlet-scene",
"masonlet/starlet-graphics",
"masonlet/starlet-serializer",
"masonlet/starlet-engine"
"starlet-libs/math",
"starlet-libs/logger",
"starlet-libs/controls",
"starlet-libs/scene",
"starlet-libs/graphics",
"starlet-libs/serializer",
"starlet-libs/engine"
]
}
}
Expand Down Expand Up @@ -252,4 +252,4 @@ def list_configs(config: dict[str, Any]) -> None:
else:
print(" CMake arguments:")
for arg in cmake_args:
print(f" {arg}")
print(f" {arg}")
16 changes: 8 additions & 8 deletions src/starlet_setup/repository.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,13 +40,13 @@ def get_default_repos(config: dict) -> list[str]:
return list(default_repos)

return [
"masonlet/starlet-math",
"masonlet/starlet-logger",
"masonlet/starlet-controls",
"masonlet/starlet-scene",
"masonlet/starlet-graphics",
"masonlet/starlet-serializer",
"masonlet/starlet-engine"
"starlet-libs/math",
"starlet-libs/logger",
"starlet-libs/controls",
"starlet-libs/scene",
"starlet-libs/graphics",
"starlet-libs/serializer",
"starlet-libs/engine"
]


Expand Down Expand Up @@ -79,4 +79,4 @@ def clone_repository(
run_command(['git', 'clone', repo_url], cwd=target_dir, verbose=verbose)
except SystemExit:
print(f" Failed to clone {repo_path}")
raise
raise
14 changes: 7 additions & 7 deletions tests/test_repository.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,14 @@ def test_returns_full_url_unchanged(self):

def test_converts_shorthand_to_https(self):
"""Should convert username/repo to HTTPS."""
result = resolve_repo_url("masonlet/starlet-math")
assert result == "https://github.com/masonlet/starlet-math.git"
result = resolve_repo_url("starlet-libs/math")
assert result == "https://github.com/starlet-libs/math.git"


def test_converts_shorthand_to_ssh(self):
"""Should convert username/repo to SSH when requested."""
result = resolve_repo_url("masonlet/starlet-math", use_ssh=True)
assert result == "git@github.com:masonlet/starlet-math.git"
result = resolve_repo_url("starlet-libs/math", use_ssh=True)
assert result == "git@github.com:starlet-libs/math.git"


class TestGetDefaultRepos:
Expand All @@ -45,8 +45,8 @@ def test_returns_repos_from_config(self):
def test_returns_hardcoded_defaults_when_config_empty(self):
"""Should fall back to built-in Starlet repos."""
result = get_default_repos({})
assert "masonlet/starlet-math" in result
assert "masonlet/starlet-engine" in result
assert "starlet-libs/math" in result
assert "starlet-libs/engine" in result
assert len(result) == 7


Expand Down Expand Up @@ -91,4 +91,4 @@ def test_raises_on_clone_failure(self, tmp_path):
with patch('starlet_setup.repository.run_command') as mock_run, \
pytest.raises(SystemExit):
mock_run.side_effect = SystemExit(1)
clone_repository("user/repo", tmp_path, use_ssh=False, verbose=False)
clone_repository("user/repo", tmp_path, use_ssh=False, verbose=False)
Loading