Skip to content

Commit a750fcd

Browse files
authored
Merge pull request #713 from microsoft/mk/upgrade-commandline-to-beta2
Upgrades to System.Commandline beta2
2 parents ce24a81 + f6a9654 commit a750fcd

File tree

3 files changed

+28
-27
lines changed

3 files changed

+28
-27
lines changed

src/Microsoft.OpenApi.Hidi/Microsoft.OpenApi.Hidi.csproj

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
<PropertyGroup>
44
<OutputType>Exe</OutputType>
55
<TargetFramework>netcoreapp3.1</TargetFramework>
6+
<LangVersion>9.0</LangVersion>
67
<PackAsTool>true</PackAsTool>
78
<ToolCommandName>hidi</ToolCommandName>
89
<PackageOutputPath>./../../artifacts</PackageOutputPath>
@@ -14,7 +15,7 @@
1415
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="6.0.0" />
1516
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="6.0.0" />
1617
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="6.0.0" />
17-
<PackageReference Include="System.CommandLine" Version="2.0.0-beta1.21216.1" />
18+
<PackageReference Include="System.CommandLine" Version="2.0.0-beta2.21617.1" />
1819
</ItemGroup>
1920

2021
<ItemGroup>

src/Microsoft.OpenApi.Hidi/OpenApiService.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,12 @@ public static async void ProcessOpenApiDocument(
3030
OpenApiSpecVersion? version,
3131
OpenApiFormat? format,
3232
LogLevel loglevel,
33+
bool inline,
34+
bool resolveexternal,
3335
string filterbyoperationids,
3436
string filterbytags,
35-
string filterbycollection,
36-
bool inline,
37-
bool resolveexternal)
37+
string filterbycollection
38+
)
3839
{
3940
var logger = ConfigureLoggerInstance(loglevel);
4041

src/Microsoft.OpenApi.Hidi/Program.cs

Lines changed: 22 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
// Licensed under the MIT license.
33

44
using System.CommandLine;
5-
using System.CommandLine.Invocation;
65
using System.IO;
76
using System.Threading.Tasks;
87
using Microsoft.Extensions.Logging;
@@ -15,62 +14,62 @@ static async Task<int> Main(string[] args)
1514
{
1615
var rootCommand = new RootCommand() {
1716
};
18-
17+
1918
// command option parameters and aliases
20-
var descriptionOption = new Option("--openapi", "Input OpenAPI description file path or URL", typeof(string));
19+
var descriptionOption = new Option<string>("--openapi", "Input OpenAPI description file path or URL");
2120
descriptionOption.AddAlias("-d");
2221

23-
var outputOption = new Option("--output", "The output directory path for the generated file.", typeof(FileInfo), () => "./output", arity: ArgumentArity.ZeroOrOne);
22+
var outputOption = new Option<FileInfo>("--output", () => new FileInfo("./output"), "The output directory path for the generated file.") { Arity = ArgumentArity.ZeroOrOne };
2423
outputOption.AddAlias("-o");
2524

26-
var versionOption = new Option("--version", "OpenAPI specification version", typeof(OpenApiSpecVersion));
25+
var versionOption = new Option<OpenApiSpecVersion?>("--version", "OpenAPI specification version");
2726
versionOption.AddAlias("-v");
2827

29-
var formatOption = new Option("--format", "File format", typeof(OpenApiFormat));
28+
var formatOption = new Option<OpenApiFormat?>("--format", "File format");
3029
formatOption.AddAlias("-f");
3130

32-
var logLevelOption = new Option("--loglevel", "The log level to use when logging messages to the main output.", typeof(LogLevel), () => LogLevel.Warning);
31+
var logLevelOption = new Option<LogLevel>("--loglevel", () => LogLevel.Warning, "The log level to use when logging messages to the main output.");
3332
logLevelOption.AddAlias("-ll");
3433

35-
var inlineOption = new Option("--inline", "Inline $ref instances", typeof(bool));
36-
inlineOption.AddAlias("-i");
37-
38-
var resolveExternalOption = new Option("--resolve-external", "Resolve external $refs", typeof(bool));
39-
resolveExternalOption.AddAlias("-ex");
40-
41-
var filterByOperationIdsOption = new Option("--filter-by-operationids", "Filters OpenApiDocument by OperationId(s) provided", typeof(string));
34+
var filterByOperationIdsOption = new Option<string>("--filter-by-operationids", "Filters OpenApiDocument by OperationId(s) provided");
4235
filterByOperationIdsOption.AddAlias("-op");
4336

44-
var filterByTagsOption = new Option("--filter-by-tags", "Filters OpenApiDocument by Tag(s) provided", typeof(string));
37+
var filterByTagsOption = new Option<string>("--filter-by-tags", "Filters OpenApiDocument by Tag(s) provided");
4538
filterByTagsOption.AddAlias("-t");
4639

47-
var filterByCollectionOption = new Option("--filter-by-collection", "Filters OpenApiDocument by Postman collection provided", typeof(string));
40+
var filterByCollectionOption = new Option<string>("--filter-by-collection", "Filters OpenApiDocument by Postman collection provided");
4841
filterByCollectionOption.AddAlias("-c");
4942

43+
var inlineOption = new Option<bool>("--inline", "Inline $ref instances");
44+
inlineOption.AddAlias("-i");
45+
46+
var resolveExternalOption = new Option<bool>("--resolve-external", "Resolve external $refs");
47+
resolveExternalOption.AddAlias("-ex");
48+
5049
var validateCommand = new Command("validate")
5150
{
5251
descriptionOption,
5352
logLevelOption
5453
};
5554

56-
validateCommand.Handler = CommandHandler.Create<string, LogLevel>(OpenApiService.ValidateOpenApiDocument);
55+
validateCommand.SetHandler<string, LogLevel>(OpenApiService.ValidateOpenApiDocument, descriptionOption, logLevelOption);
5756

5857
var transformCommand = new Command("transform")
5958
{
6059
descriptionOption,
6160
outputOption,
6261
versionOption,
6362
formatOption,
64-
logLevelOption,
65-
inlineOption,
66-
resolveExternalOption,
63+
logLevelOption,
6764
filterByOperationIdsOption,
6865
filterByTagsOption,
69-
filterByCollectionOption
66+
filterByCollectionOption,
67+
inlineOption,
68+
resolveExternalOption,
7069
};
7170

72-
transformCommand.Handler = CommandHandler.Create<string, FileInfo, OpenApiSpecVersion?, OpenApiFormat?, LogLevel, string, string, string, bool, bool>(
73-
OpenApiService.ProcessOpenApiDocument);
71+
transformCommand.SetHandler<string, FileInfo, OpenApiSpecVersion?, OpenApiFormat?, LogLevel, bool, bool, string, string, string> (
72+
OpenApiService.ProcessOpenApiDocument, descriptionOption, outputOption, versionOption, formatOption, logLevelOption, inlineOption, resolveExternalOption, filterByOperationIdsOption, filterByTagsOption, filterByCollectionOption);
7473

7574
rootCommand.Add(transformCommand);
7675
rootCommand.Add(validateCommand);

0 commit comments

Comments
 (0)