-
Couldn't load subscription status.
- Fork 1.2k
Refactor dotnet-watch into a package consumable from Aspire.CLI #51123
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
This PR is targeting |
|
Thanks for your PR, @@tmat. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR refactors the dotnet-watch tool into a consumable package for Aspire.CLI by splitting it into two main components: the original CLI tool and a new Microsoft.DotNet.HotReload.Watch package containing the core implementation.
- Extracts the core watch functionality into a reusable library package
- Creates a new Aspire-specific project with IVT access for external consumption
- Removes CLI-specific dependencies from the core package to eliminate command parsing logic
Reviewed Changes
Copilot reviewed 52 out of 98 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
src/BuiltInTools/Watch/Microsoft.DotNet.HotReload.Watch.csproj |
New core watch library project containing shared functionality |
src/BuiltInTools/Watch.Aspire/Microsoft.DotNet.HotReload.Watch.Aspire.csproj |
New Aspire-specific executable package for external consumption |
src/BuiltInTools/dotnet-watch/dotnet-watch.csproj |
Updated to reference the new core library instead of duplicating code |
test/Microsoft.DotNet.HotReload.Test.Utilities/ |
New shared test utilities project extracted from existing tests |
| Various test files | Updated imports and references to use the new shared test utilities |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I dug through the whole change, and it looks good.
|
Moving to 10.0.2xx branch: #51123 |
Requires dotnet/roslyn#80556, #51143
Splits dotnet-watch into two components: dotnet-watch CLI tool itself and Microsoft.DotNet.HotReload.Watch package with the core implementation.
The package does not include CLI parsing (no dependency on dotnet CLI commands) and legacy "no hot reload" mode.
The change also includes Microsoft.DotNet.HotReload.Watch.Aspire project that has IVT to Aspire.CLI (similar to Roslyn's External Access) and allows Aspire to launch the watcher.