BenchmarkDotNet icon indicating copy to clipboard operation
BenchmarkDotNet copied to clipboard

[WIP] Using System.CommandLine

Open WojciechNagorski opened this issue 6 years ago • 11 comments
trafficstars

Please do not merge yet.

PR for #1016

WojciechNagorski avatar Feb 01 '19 14:02 WojciechNagorski

@wojtpl2 what the status of this PR?

AndreyAkinshin avatar Sep 06 '19 17:09 AndreyAkinshin

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?

adamsitnik avatar Sep 07 '19 07:09 adamsitnik

@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?

WojciechNagorski avatar Sep 09 '19 13:09 WojciechNagorski

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.

AndreyAkinshin avatar Sep 09 '19 15:09 AndreyAkinshin

@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.

adamsitnik avatar Sep 09 '19 19:09 adamsitnik

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 avatar Sep 09 '19 20:09 jonsequitur

@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

WojciechNagorski avatar Sep 10 '19 08:09 WojciechNagorski

System System.CommandLine is still beta - https://www.nuget.org/packages/System.CommandLine/

WojciechNagorski avatar Nov 20 '20 13:11 WojciechNagorski

We expect to GA in first half of the coming year.

jonsequitur avatar Nov 21 '20 02:11 jonsequitur

System.CommandLine is still beta.

WojciechNagorski avatar Jul 26 '21 12:07 WojciechNagorski

It will be out of beta alongside .NET 6.

jonsequitur avatar Jul 26 '21 14:07 jonsequitur

System.CommandLine is still beta. I'm not going to update this branch in the future.

WojciechNagorski avatar Oct 07 '24 19:10 WojciechNagorski