Rename the toolchain commands to rb msvc enable/exec#3
Merged
Conversation
A top-level `rb exec` reads as "run under the selected ruby", the meaning exec has in version managers, not as MSVC build-environment activation. Namespace both surfaces under the toolset name and rename the Devkit class to Msvc to match; "devkit" is not a Visual Studio term. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
This PR renames the MSVC toolchain activation commands from top-level rb enable / rb exec to rb msvc enable / rb msvc exec, and renames the implementation from Devkit to Msvc, updating tests and documentation accordingly while keeping behavior the same.
Changes:
- Updated CLI dispatch and usage text to expose MSVC activation under the
msvcsubcommand. - Renamed the implementation type from
DevkittoMsvcand updated all test references. - Updated README and design/test documentation to reflect the new command surface and terminology.
Reviewed changes
Copilot reviewed 12 out of 12 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| tests/rbmanager.Tests/Support/VsWhereScope.cs | Updates the test seam to override Msvc.VsWhere instead of Devkit.VsWhere. |
| tests/rbmanager.Tests/Support/Serial.cs | Updates serial-test documentation to reference Msvc.VsWhere. |
| tests/rbmanager.Tests/SmokeTests.cs | Updates internal API smoke assertions to reference Msvc. |
| tests/rbmanager.Tests/MsvcVsTests.cs | Renames VS-dependent tests and updates CLI invocation to rb msvc exec. |
| tests/rbmanager.Tests/MsvcHelperTests.cs | Renames helper tests and updates calls from Devkit to Msvc. |
| tests/rbmanager.Tests/MsvcActivationTests.cs | Renames activation tests and updates calls from Devkit to Msvc. |
| tests/rbmanager.Tests/CliE2eTests.cs | Updates E2E dispatch-usage test cases for the new msvc command surface. |
| src/rbmanager/Program.cs | Updates CLI argument dispatch and usage text to msvc enable/exec. |
| src/rbmanager/Msvc.cs | Renames implementation class and updates comments/docs pointers to MSVC terminology. |
| README.md | Updates the user-facing command list and docs link to msvc enable/exec. |
| docs/test-plan.md | Updates the command contract/test plan to reflect rb msvc enable/exec and Msvc seams. |
| docs/msvc-enable.md | Updates the design note and examples to the new rb msvc enable/exec command surface. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
35
to
+39
| [InlineData("install")] | ||
| [InlineData("use")] | ||
| [InlineData("exec")] | ||
| public void MissingRequiredArgument_Usage_Exit2(string command) | ||
| [InlineData("msvc")] | ||
| [InlineData("msvc", "exec")] | ||
| public void MissingRequiredArgument_Usage_Exit2(params string[] command) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The MSVC build-environment activation shipped as a top-level
rb exec(and its companionrb enable), butexecat the top level reads as "run a command under the selected ruby", the meaning it carries in version managers such asrbenv execandmise exec. That connotation hides what the command actually does, which is activate an installed Visual Studio or Build Tools MSVC toolchain so native gems can build.This namespaces both surfaces under the toolset name as
rb msvc enable [shell]andrb msvc exec <command...>, and renames the implementation class and file fromDevkittoMsvcto match. The word "devkit" is not a Visual Studio term, so the class comment and the design note now describe the mechanism in Visual Studio vocabulary (the MSVC toolset andVsDevCmd.bat, the script behind the Developer Command Prompt). Behavior is unchanged. Only the command spelling, the class name, and the docs move.