nunit-console
nunit-console copied to clipboard
Deprecate deprecated packages on nuget.org
https://docs.microsoft.com/nuget/nuget-org/deprecate-packages
Nuget.org's package deprecation functionality is now available. 😄 We should make use of it for our two deprecated packages.
The nunit-console-with-extensions Choco package needs to be added to the list for removal from the repo, it catches me out every time. 🙁
Two packages are deprecated and Chris added a third package, which he recommended we deprecate. Currently deprecated packages use the convention-based approach of indicating they are deprecated in the title and having a dependency on the replacement package where there is one.
Currently, we are re-publishing the deprecated packages, using a new version number, every time we publish. I don't think this makes sense, because the whole idea is that we don't want to keep maintaining these packages. @nunit/engine-team What do you think? Am I missing some reason why this is useful?
Details follow on each of the three packages. They are all packages for nuget.org unless otherwise stated.
nunit.engine.netstandard
This is an old alternative engine, which we no longer use. The NUnit.Engine package replaces it. We currently release this with an new version number every time we publish packages.
Actions Needed
- [x] Stop Building as part of normal build
- [ ] Convert to NuGet Deprecation Feature
NUnit.Runners
This is an old naming for the current NUnit.Console package, which includes both NUnit.Console.Runner and our five standard extensions. We currently release this with an new version number every time we publish packages.
Actions Needed
- [x] Stop Building as part of normal build
- [ ] Convert to NuGet Deprecation Feature
- [x] Update Description so extensions are no longer listed
nunit-console-with-extensions (Chocolatey package)
This is an old package with no exact equivalent. In the Chocolatey environment, bundling extensions doesn't make a lot of sense because it's so trivial to add extensions from the command line. This package was added in error and we don't have any precise equivalent - users should install nunit-console-runner plus whichever extensions they want.
Actions Needed
- [x] Stop Building as part of normal build
- [x] Move to
deprecatedfolder - [ ] Deprecate using Chocolatey.org convention-based approach
- [x] Update Description so extensions are not specifically listed
Additional work needed
- [ ] We need either instructions or targets in the build file to create updated versions of the individual deprecated packages whenever it becomes necessary. @nunit/core-team Hoping for your input on all of this before doing it!
I support all of these actions (they don't look mutually exclusive). Advantages to using nuget.org deprecation are that tooling understands it (both CLI and warning icons in Visual Studio NuGet Package Manager) and it presents nice UI online where it links to the recommended replacement package.
Thanks @jnm2
I intended the lists of actions to all done completely... e.g. Stop Publishing AND Convert AND Update. There's a separate list for each extension because each one needs slightly different things.
I guess once I do one of them, we'll get to see what the UI looks like and we can change it for the others. I think nunit.engine.netstandard requires the least, so I'll do it first.
I updated the description to clarify the action steps and added checkboxes.
I've done a PR for the part of this that removes the deprecated packages from our regular build process. More work is needed to change how we deprecate them, but that does not have to be done in conjunction with the release.
@nunit/engine-team This is partly done as planned and I don't intend to do any further work so I'm closing it. Let me know if you see any problem with this.