Skip to content

Commit 2946046

Browse files
Merge pull request #2421 from KathleenDollard/powderhouse-kad-rename-pipelinecontext
PipelineContext replaced with PipelineResult
2 parents cfb184a + 5f31f7c commit 2946046

File tree

13 files changed

+66
-66
lines changed

13 files changed

+66
-66
lines changed

src/System.CommandLine.Subsystems.Tests/AlternateSubsystems.cs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,11 @@ internal class AlternateSubsystems
1010
{
1111
internal class AlternateVersion : VersionSubsystem
1212
{
13-
protected override CliExit Execute(PipelineContext pipelineContext)
13+
protected override CliExit Execute(PipelineResult pipelineResult)
1414
{
15-
pipelineContext.ConsoleHack.WriteLine($"***{CliExecutable.ExecutableVersion}***");
16-
pipelineContext.AlreadyHandled = true;
17-
return CliExit.SuccessfullyHandled(pipelineContext.ParseResult);
15+
pipelineResult.ConsoleHack.WriteLine($"***{CliExecutable.ExecutableVersion}***");
16+
pipelineResult.AlreadyHandled = true;
17+
return CliExit.SuccessfullyHandled(pipelineResult.ParseResult);
1818
}
1919
}
2020

@@ -29,12 +29,12 @@ public VersionThatUsesHelpData(CliSymbol symbol)
2929

3030
private CliSymbol Symbol { get; }
3131

32-
protected override CliExit Execute(PipelineContext pipelineContext)
32+
protected override CliExit Execute(PipelineResult pipelineResult)
3333
{
3434
TryGetAnnotation(Symbol, HelpAnnotations.Description, out string? description);
35-
pipelineContext.ConsoleHack.WriteLine(description);
36-
pipelineContext.AlreadyHandled = true;
37-
return CliExit.SuccessfullyHandled(pipelineContext.ParseResult);
35+
pipelineResult.ConsoleHack.WriteLine(description);
36+
pipelineResult.AlreadyHandled = true;
37+
return CliExit.SuccessfullyHandled(pipelineResult.ParseResult);
3838
}
3939
}
4040

@@ -51,10 +51,10 @@ protected override CliConfiguration Initialize(InitializationContext context)
5151
return base.Initialize(context);
5252
}
5353

54-
protected override CliExit Execute(PipelineContext pipelineContext)
54+
protected override CliExit Execute(PipelineResult pipelineResult)
5555
{
5656
ExecutionWasRun = true;
57-
return base.Execute(pipelineContext);
57+
return base.Execute(pipelineResult);
5858
}
5959

6060
protected override CliExit TearDown(CliExit cliExit)

src/System.CommandLine.Subsystems.Tests/VersionSubsystemTests.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ public void Outputs_assembly_version()
5252
{
5353
var consoleHack = new ConsoleHack().RedirectToBuffer(true);
5454
var versionSubsystem = new VersionSubsystem();
55-
Subsystem.Execute(versionSubsystem, new PipelineContext(null, "", null, consoleHack));
55+
Subsystem.Execute(versionSubsystem, new PipelineResult(null, "", null, consoleHack));
5656
consoleHack.GetBuffer().Trim().Should().Be(Constants.version);
5757
}
5858

@@ -64,7 +64,7 @@ public void Outputs_specified_version()
6464
{
6565
SpecificVersion = "42"
6666
};
67-
Subsystem.Execute(versionSubsystem, new PipelineContext(null, "", null, consoleHack));
67+
Subsystem.Execute(versionSubsystem, new PipelineResult(null, "", null, consoleHack));
6868
consoleHack.GetBuffer().Trim().Should().Be("42");
6969
}
7070

@@ -76,7 +76,7 @@ public void Outputs_assembly_version_when_specified_version_set_to_null()
7676
{
7777
SpecificVersion = null
7878
};
79-
Subsystem.Execute(versionSubsystem, new PipelineContext(null, "", null, consoleHack));
79+
Subsystem.Execute(versionSubsystem, new PipelineResult(null, "", null, consoleHack));
8080
consoleHack.GetBuffer().Trim().Should().Be(Constants.version);
8181
}
8282

@@ -88,7 +88,7 @@ public void Console_output_can_be_tested()
8888

8989
var consoleHack = new ConsoleHack().RedirectToBuffer(true);
9090
var versionSubsystem = new VersionSubsystem();
91-
Subsystem.Execute(versionSubsystem, new PipelineContext(null, "", null, consoleHack));
91+
Subsystem.Execute(versionSubsystem, new PipelineResult(null, "", null, consoleHack));
9292
consoleHack.GetBuffer().Trim().Should().Be(Constants.version);
9393
}
9494

src/System.CommandLine.Subsystems/CliExit.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ namespace System.CommandLine;
88
// TODO: Consider what info is needed after invocation. If it's the whole pipeline context, consider collapsing this with that class.
99
public class CliExit
1010
{
11-
internal CliExit(PipelineContext pipelineContext)
12-
: this(pipelineContext.ParseResult, pipelineContext.AlreadyHandled, pipelineContext.ExitCode)
11+
internal CliExit(PipelineResult pipelineResult)
12+
: this(pipelineResult.ParseResult, pipelineResult.AlreadyHandled, pipelineResult.ExitCode)
1313
{ }
1414

1515
private CliExit(ParseResult? parseResult, bool handled, int exitCode)

src/System.CommandLine.Subsystems/CompletionSubsystem.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@ protected internal override bool GetIsActivated(ParseResult? parseResult)
1818
? false
1919
: false;
2020

21-
protected internal override CliExit Execute(PipelineContext pipelineContext)
21+
protected internal override CliExit Execute(PipelineResult pipelineResult)
2222
{
23-
pipelineContext.ConsoleHack.WriteLine("Not yet implemented");
24-
return CliExit.SuccessfullyHandled(pipelineContext.ParseResult);
23+
pipelineResult.ConsoleHack.WriteLine("Not yet implemented");
24+
return CliExit.SuccessfullyHandled(pipelineResult.ParseResult);
2525
}
2626
}

src/System.CommandLine.Subsystems/Directives/DiagramSubsystem.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,14 @@ public class DiagramSubsystem( IAnnotationProvider? annotationProvider = null)
1313
//protected internal override bool GetIsActivated(ParseResult? parseResult)
1414
// => parseResult is not null && option is not null && parseResult.GetValue(option);
1515

16-
protected internal override CliExit Execute(PipelineContext pipelineContext)
16+
protected internal override CliExit Execute(PipelineResult pipelineResult)
1717
{
1818
// Gather locations
19-
//var locations = pipelineContext.ParseResult.LocationMap
20-
// .Concat(Map(pipelineContext.ParseResult.Configuration.PreProcessedLocations));
19+
//var locations = pipelineResult.ParseResult.LocationMap
20+
// .Concat(Map(pipelineResult.ParseResult.Configuration.PreProcessedLocations));
2121

22-
pipelineContext.ConsoleHack.WriteLine("Output diagram");
23-
return CliExit.SuccessfullyHandled(pipelineContext.ParseResult);
22+
pipelineResult.ConsoleHack.WriteLine("Output diagram");
23+
return CliExit.SuccessfullyHandled(pipelineResult.ParseResult);
2424
}
2525

2626

src/System.CommandLine.Subsystems/ErrorReportingSubsystem.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,14 @@ protected internal override bool GetIsActivated(ParseResult? parseResult)
2323
=> parseResult is not null && parseResult.Errors.Any();
2424

2525
// TODO: properly test execute directly when parse result is usable in tests
26-
protected internal override CliExit Execute(PipelineContext pipelineContext)
26+
protected internal override CliExit Execute(PipelineResult pipelineResult)
2727
{
28-
var _ = pipelineContext.ParseResult
29-
?? throw new ArgumentException("The parse result has not been set", nameof(pipelineContext));
28+
var _ = pipelineResult.ParseResult
29+
?? throw new ArgumentException("The parse result has not been set", nameof(pipelineResult));
3030

31-
Report(pipelineContext.ConsoleHack, pipelineContext.ParseResult.Errors);
31+
Report(pipelineResult.ConsoleHack, pipelineResult.ParseResult.Errors);
3232

33-
return CliExit.SuccessfullyHandled(pipelineContext.ParseResult);
33+
return CliExit.SuccessfullyHandled(pipelineResult.ParseResult);
3434
}
3535

3636
public void Report(ConsoleHack consoleHack, IReadOnlyList<ParseError> errors)

src/System.CommandLine.Subsystems/HelpSubsystem.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,11 @@ protected internal override CliConfiguration Initialize(InitializationContext co
3434
protected internal override bool GetIsActivated(ParseResult? parseResult)
3535
=> parseResult is not null && parseResult.GetValue(HelpOption);
3636

37-
protected internal override CliExit Execute(PipelineContext pipelineContext)
37+
protected internal override CliExit Execute(PipelineResult pipelineResult)
3838
{
3939
// TODO: Match testable output pattern
40-
pipelineContext.ConsoleHack.WriteLine("Help me!");
41-
return CliExit.SuccessfullyHandled(pipelineContext.ParseResult);
40+
pipelineResult.ConsoleHack.WriteLine("Help me!");
41+
return CliExit.SuccessfullyHandled(pipelineResult.ParseResult);
4242
}
4343

4444
public bool TryGetDescription (CliSymbol symbol, out string? description)

src/System.CommandLine.Subsystems/Pipeline.cs

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,9 @@ public CliExit Execute(CliConfiguration configuration, string[] args, string raw
6262

6363
public CliExit Execute(ParseResult parseResult, string rawInput, ConsoleHack? consoleHack = null)
6464
{
65-
var pipelineContext = new PipelineContext(parseResult, rawInput, this, consoleHack ?? new ConsoleHack());
66-
ExecuteSubsystems(pipelineContext);
67-
return new CliExit(pipelineContext);
65+
var pipelineResult = new PipelineResult(parseResult, rawInput, this, consoleHack ?? new ConsoleHack());
66+
ExecuteSubsystems(pipelineResult);
67+
return new CliExit(pipelineResult);
6868
}
6969

7070
// TODO: Consider whether this should be public. It would simplify testing, but would it do anything else
@@ -94,7 +94,7 @@ protected virtual void InitializeSubsystems(InitializationContext context)
9494
/// <summary>
9595
/// Perform any cleanup operations
9696
/// </summary>
97-
/// <param name="pipelineContext">The context of the current execution</param>
97+
/// <param name="pipelineResult">The context of the current execution</param>
9898
protected virtual CliExit TearDownSubsystems(CliExit cliExit)
9999
{
100100
// TODO: Work on this design as the last cliExit wins and they may not all be well behaved
@@ -109,24 +109,24 @@ protected virtual CliExit TearDownSubsystems(CliExit cliExit)
109109
return cliExit;
110110
}
111111

112-
protected virtual void ExecuteSubsystems(PipelineContext pipelineContext)
112+
protected virtual void ExecuteSubsystems(PipelineResult pipelineResult)
113113
{
114-
// TODO: Consider redesign where pipelineContext is not modifiable.
114+
// TODO: Consider redesign where pipelineResult is not modifiable.
115115
//
116116
foreach (var subsystem in Subsystems)
117117
{
118118
if (subsystem is not null)
119119
{
120-
pipelineContext = subsystem.ExecuteIfNeeded(pipelineContext);
120+
pipelineResult = subsystem.ExecuteIfNeeded(pipelineResult);
121121
}
122122
}
123123
}
124124

125-
protected static void ExecuteIfNeeded(CliSubsystem? subsystem, PipelineContext pipelineContext)
125+
protected static void ExecuteIfNeeded(CliSubsystem? subsystem, PipelineResult pipelineResult)
126126
{
127-
if (subsystem is not null && (!pipelineContext.AlreadyHandled || subsystem.RunsEvenIfAlreadyHandled))
127+
if (subsystem is not null && (!pipelineResult.AlreadyHandled || subsystem.RunsEvenIfAlreadyHandled))
128128
{
129-
subsystem.ExecuteIfNeeded(pipelineContext);
129+
subsystem.ExecuteIfNeeded(pipelineResult);
130130
}
131131
}
132132

src/System.CommandLine.Subsystems/Subsystems/CliSubsystem.cs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -65,21 +65,21 @@ protected internal bool TryGetAnnotation<TValue>(CliSymbol symbol, AnnotationId<
6565
/// <summary>
6666
/// Executes the behavior of the subsystem. For example, help would write information to the console.
6767
/// </summary>
68-
/// <param name="pipelineContext">The context contains data like the ParseResult, and allows setting of values like whether execution was handled and the CLI should terminate </param>
68+
/// <param name="pipelineResult">The context contains data like the ParseResult, and allows setting of values like whether execution was handled and the CLI should terminate </param>
6969
/// <returns>A CliExit object with information such as whether the CLI should terminate</returns>
70-
protected internal virtual CliExit Execute(PipelineContext pipelineContext)
71-
=> CliExit.NotRun(pipelineContext.ParseResult);
70+
protected internal virtual CliExit Execute(PipelineResult pipelineResult)
71+
=> CliExit.NotRun(pipelineResult.ParseResult);
7272

73-
internal PipelineContext ExecuteIfNeeded(PipelineContext pipelineContext)
74-
=> ExecuteIfNeeded(pipelineContext.ParseResult, pipelineContext);
73+
internal PipelineResult ExecuteIfNeeded(PipelineResult pipelineResult)
74+
=> ExecuteIfNeeded(pipelineResult.ParseResult, pipelineResult);
7575

76-
internal PipelineContext ExecuteIfNeeded(ParseResult? parseResult, PipelineContext pipelineContext)
76+
internal PipelineResult ExecuteIfNeeded(ParseResult? parseResult, PipelineResult pipelineResult)
7777
{
7878
if (GetIsActivated(parseResult))
7979
{
80-
Execute(pipelineContext);
80+
Execute(pipelineResult);
8181
}
82-
return pipelineContext;
82+
return pipelineResult;
8383
}
8484

8585

src/System.CommandLine.Subsystems/Subsystems/PipelineContext.cs renamed to src/System.CommandLine.Subsystems/Subsystems/PipelineResult.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33

44
namespace System.CommandLine.Subsystems;
55

6-
public class PipelineContext(ParseResult? parseResult, string rawInput, Pipeline? pipeline, ConsoleHack? consoleHack = null)
6+
public class PipelineResult(ParseResult? parseResult, string rawInput, Pipeline? pipeline, ConsoleHack? consoleHack = null)
77
{
88
public ParseResult? ParseResult { get; } = parseResult;
99
public string RawInput { get; } = rawInput;

0 commit comments

Comments
 (0)