Skip to content

fix: accept space-separated toolchain remove specs - #808

Merged
Sunrisepeak merged 2 commits into
mcpp-community:mainfrom
dannyward630:fix/toolchain-remove-space-separated-version
Oct 15, 2026
Merged

Sunrisepeak merged 2 commits into
mcpp-community:mainfrom
dannyward630:fix/toolchain-remove-space-separated-version

Conversation

@dannyward630

Copy link
Copy Markdown
Contributor

Summary

  • Accept mcpp toolchain remove <family> <version> alongside the existing family@version form.
  • Align the remove spec help with default and pass both positional values through the shared toolchain spec parser.
  • Add E2E coverage for both spellings across install, default, and remove, including --target.

Closes #284

Test plan

  • mcpp build --strict passed.
  • mcpp test passed: 150 targets; root DAC override was dropped for the permission-denial test.
  • tests/e2e/26_toolchain_management.sh passed with the fresh binary.

dannyward630 and others added 2 commits October 14, 2026 03:40
…missing

`remove` does not resolve a partial version the way `default` does (no
resolve_version_match): `mcpp toolchain remove gcc 15` with 15.1.0 installed
reports "gcc@15 is not installed". The help no longer claims a partial
version works. A removal deletes one payload, so it names that payload.

A family with no version (`mcpp toolchain remove gcc`) still printed
"invalid spec 'gcc'", the message mcpp-community#284 reports as reading like a wrong
family name. A spec the parser rejects now carries the parser's own reason,
as `default` does, and a family alone says the exact version is missing.

e2e 26 asserts the missing-version message and drops the repeated
`install gcc@16.1.0`, which only re-ran an install that was already done.
@Sunrisepeak
Sunrisepeak merged commit 51579d7 into mcpp-community:main Oct 15, 2026
63 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

toolchain remove: rejects the space-separated form that install and default both accept

2 participants