Skip to content

Separate command parsing from implementation #51623

@tmat

Description

@tmat

dotnet-watch is pulling in a lot of dependencies that it shouldn't be. The main reason is that we need to know all existing dotnet commands in order to parse dotnet-watch command line correctly and forward options as needed.

This is the list of commands that we use in dotnet-watch:
sdk/src/Cli/dotnet/Parser.cs at 2b9fc02a265c735f2132e4e3626e94962e48bdf5 · dotnet/sdk

The problem is that this pulls in implementation of every command and its dependencies.
We don't need any of the implementations though. We just need to be able to parse the command line for all these sub-commands.

I propose we split each parser into two parts - one that does everything but SetAction. The actions would be set in a separate piece of code. Then we can share the parsers as shared source projects and remove the dependency of dotnet-watch on dotnet.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions