This commit is contained in:
Tyrrrz
2024-09-03 02:04:52 +03:00
4 changed files with 34 additions and 13 deletions

22
.github/dependabot.yml vendored Normal file
View File

@@ -0,0 +1,22 @@
version: 2
updates:
- package-ecosystem: github-actions
directory: "/"
schedule:
interval: monthly
labels:
- enhancement
groups:
actions:
patterns:
- "*"
- package-ecosystem: nuget
directory: "/"
schedule:
interval: monthly
labels:
- enhancement
groups:
nuget:
patterns:
- "*"

View File

@@ -1,5 +1,4 @@
using System.CommandLine; using System.CommandLine;
using System.CommandLine.Invocation;
using System.Threading.Tasks; using System.Threading.Tasks;
using BenchmarkDotNet.Attributes; using BenchmarkDotNet.Attributes;
@@ -9,20 +8,20 @@ public partial class Benchmarks
{ {
public class SystemCommandLineCommand public class SystemCommandLineCommand
{ {
public static int ExecuteHandler(string s, int i, bool b) => 0; public static void ExecuteHandler(string s, int i, bool b) { }
public Task<int> ExecuteAsync(string[] args) public Task<int> ExecuteAsync(string[] args)
{ {
var command = new RootCommand var stringOption = new Option<string>(["--str", "-s"]);
{ var intOption = new Option<int>(["--int", "-i"]);
new Option(["--str", "-s"]) { Argument = new Argument<string?>() }, var boolOption = new Option<bool>(["--bool", "-b"]);
new Option(["--int", "-i"]) { Argument = new Argument<int>() },
new Option(["--bool", "-b"]) { Argument = new Argument<bool>() }
};
command.Handler = CommandHandler.Create( var command = new RootCommand();
typeof(SystemCommandLineCommand).GetMethod(nameof(ExecuteHandler))! command.AddOption(stringOption);
); command.AddOption(intOption);
command.AddOption(boolOption);
command.SetHandler(ExecuteHandler, stringOption, intOption, boolOption);
return command.InvokeAsync(args); return command.InvokeAsync(args);
} }

View File

@@ -13,7 +13,7 @@
<PackageReference Include="CSharpier.MsBuild" Version="0.28.2" PrivateAssets="all" /> <PackageReference Include="CSharpier.MsBuild" Version="0.28.2" PrivateAssets="all" />
<PackageReference Include="McMaster.Extensions.CommandLineUtils" Version="4.1.1" /> <PackageReference Include="McMaster.Extensions.CommandLineUtils" Version="4.1.1" />
<PackageReference Include="PowerArgs" Version="4.0.3" /> <PackageReference Include="PowerArgs" Version="4.0.3" />
<PackageReference Include="System.CommandLine" Version="2.0.0-beta1.20574.7" /> <PackageReference Include="System.CommandLine" Version="2.0.0-beta4.22272.1" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

View File

@@ -14,7 +14,7 @@
<PackageReference Include="coverlet.collector" Version="6.0.2" PrivateAssets="all" /> <PackageReference Include="coverlet.collector" Version="6.0.2" PrivateAssets="all" />
<PackageReference Include="CSharpier.MsBuild" Version="0.28.2" PrivateAssets="all" /> <PackageReference Include="CSharpier.MsBuild" Version="0.28.2" PrivateAssets="all" />
<PackageReference Include="FluentAssertions" Version="6.12.0" /> <PackageReference Include="FluentAssertions" Version="6.12.0" />
<PackageReference Include="GitHubActionsTestLogger" Version="2.3.3" PrivateAssets="all" /> <PackageReference Include="GitHubActionsTestLogger" Version="2.4.1" PrivateAssets="all" />
<PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="4.9.2" /> <PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="4.9.2" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="8.0.0" /> <PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="8.0.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.10.0" /> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.10.0" />