dotnet / command-line-api

Command line parsing, invocation, and rendering of terminal output.
https://github.com/dotnet/command-line-api/wiki
MIT License
3.34k stars 375 forks source link

PipelineContext replaced with PipelineResult #2421

Closed KathleenDollard closed 1 month ago

KathleenDollard commented 1 month ago

Previously, PipelineContext was ephemeral, subsystems carried input specific caches (oops), was often recreated, and the return was CliExit.

Now, PipelineResult carries all three purposes and a single instance is used for the life of the pipeline run (per call to Execute)

This is currently in draft state because it will have merge conflicts with #2413, includes all the commits from #2413, and because it needs a cleanup/my review pass Edit: Now up to date with those PRs