BenchmarkDotNet
BenchmarkDotNet copied to clipboard
[WIP] Using System.CommandLine
Please do not merge yet.
PR for #1016
@wojtpl2 what the status of this PR?
what the status of this PR?
System.CommandLine* packages are still uploaded to NuGet.org as previews.
@AndreyAkinshin can we upload a new stable version of BDN with a preview dependency to nuget.org?
@AndreyAkinshin This PR was completed for version 0.2.0-alpha. It doesn't work for new version 0.3.0-alpha. I can update this PR for the new version of System.CommandLine and merge it with master but only if I can use preview version of this nuget package. As @adamsitnik asked:
@AndreyAkinshin can we upload a new stable version of BDN with a preview dependency to nuget.org?
can we upload a new stable version of BDN with a preview dependency to nuget.org?
Technically, yes: we can pack and upload a stable version of a NuGet package with preview dependencies. However, it's not a good idea because NuGet still has problems with the install operation for such packages (e.g., see https://github.com/NuGet/Home/issues/2944).
Thus, we have to wait until System.CommandLine is released.
@KathleenDollard @jonsequitur we would be very happy to dogfood System.CommandLine but as you can see in the thread above we can't publish anything to nuget.org that has some preview dependencies. When can we expect to have a non-preview version?
We are fine with API changes between the releases, we have a lot of unit tests that check the correctness of the parser and this is the only blocker for us.
We do publish several release versions of global tools with dependencies on pre-release versions of System.CommandLine. Since dependencies of global tools aren't transient, this hasn't been an issue.
@jonsequitur BenchmarkDotNet is not only a global tool but above all a library.
Global tool package: https://www.nuget.org/packages/BenchmarkDotNet.Tool Library package: https://www.nuget.org/packages/BenchmarkDotNet
System System.CommandLine is still beta - https://www.nuget.org/packages/System.CommandLine/
We expect to GA in first half of the coming year.
System.CommandLine is still beta.
It will be out of beta alongside .NET 6.
System.CommandLine is still beta. I'm not going to update this branch in the future.