[bv] English help output and kebab-case-only release options#261
Conversation
Spectre.Console.Cli localizes embedded help/diagnostic strings via CurrentUICulture. Buildvana is a single-culture project, so set DefaultThreadCurrentUICulture to InvariantCulture at the entry point of Main; resource fallback then lands on the English (invariant) Resources.resx on every host. Phase 1 of Tenacom#257, part of Tenacom#258. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Multi-word options accepted both a camelCase and a kebab-case form (e.g. --mainBranch|--main-branch). Kebab-case is the de facto CLI standard (dotnet, git, gh, npm); the camelCase alias added clutter to help output and contributed nothing. Now only the kebab-case form is accepted. Phase 1 of Tenacom#257, part of Tenacom#258. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Rename to keep the kebab-case form down to one or two words and drop redundant qualifiers: - `--version-spec-change` -> `--bump` - `--check-public-api-files` -> `--check-public-api` - `--update-changelog-on-prerelease` -> `--unstable-changelog` - `--ensure-changelog-not-empty` -> `--require-changelog` - `--update-self-references` -> `--dogfood` Property names, OptionsService keys, and their derived env-var names follow. The `--bump` description spells out each accepted value so users don't have to know the underlying enum. Phase 1 of Tenacom#257, part of Tenacom#258. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Add Unreleased entries for the camelCase-alias removal and the five bv release option renames, plus update the Known Problems entry that referenced the now-renamed `updateChangelogOnPrerelease` option. Phase 1 of Tenacom#257, part of Tenacom#258. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
|
@claude please review this PR. |
|
Claude finished @rdeago's task in 3m 30s —— View job PR Review
Overall the implementation is clean and consistent. The three coordinated changes (invariant culture, dropped camelCase aliases, renamed release options) are wired correctly end-to-end: Two issues to flag: Issue 1 — CHANGELOG example names an option that no longer exists (medium priority)
Issue 2 — "Known problems" phrasing uses
|
Fixed by removing affected entry from changelog as no longer relevant after this PR.
Wording improved on whole affected changelog entry. |
Summary
Closes #258 (Phase 1 of #257). Three coordinated cleanups to the
bvCLI option surface:English help/diagnostics on every host. Set
CultureInfo.DefaultThreadCurrentUICulture = CultureInfo.InvariantCultureat the entry point ofMainso Spectre.Console.Cli's resource lookup lands on the English (invariant)Resources.resxregardless of system locale.Drop camelCase option aliases. Multi-word options accepted both forms (e.g.
--mainBranch|--main-branch); only kebab-case is accepted now.Simplify long
bv releaseoption names. Five renamings:--versionSpecChange→--bumpThe
--bumpdescription is multi-line and uses Spectre markup to spell out each accepted enum value, since the renamed option no longer carries a self-explanatory name.--checkPublicApiFiles→--check-public-api--updateChangelogOnPrerelease→--unstable-changelog--ensureChangelogNotEmpty→--require-changelog--updateSelfReferences→--dogfoodProperty names,
OptionsServicekeys, and derived env-var names follow.Notes for follow-up
.github/workflows/release.ymlstill setsVERSION_SPEC_CHANGEetc. and isn't updated in this PR: the workflow runs against the published bv (currently 2.0.103-preview, which speaks the old options), so the rename must land with the dogfood commit that pins the new bv version. A separate issue will track this, along with three latent wiring bugs in the same workflow that this PR surfaced (FORCE_UPDATE_CHANGELOG/CHECK_CHANGELOG/CHECK_PUBLIC_APIinputs that were silently ignored against the old option keys).OptionsServicedeserves its own retire/replace decision; will be filed as an enhancement issue.Test plan
dotnet bv pack— succeeds, NuGets produced.dotnet dnx JetBrains.ReSharper.GlobalTools inspectcode --severity=WARNING …— zero results.bv build --helpshowsDESCRIPTION:/USAGE:.bv release --helpto confirm the multi-line--bumpdescription renders correctly.🤖 Generated with Claude Code