nunit-console icon indicating copy to clipboard operation
nunit-console copied to clipboard

Deprecate deprecated packages on nuget.org

Open ChrisMaddock opened this issue 5 years ago • 6 comments

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.

ChrisMaddock avatar Jan 01 '20 17:01 ChrisMaddock

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

ChrisMaddock avatar Jan 17 '21 21:01 ChrisMaddock

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 deprecated folder
  • [ ] 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!

CharliePoole avatar Nov 10 '21 19:11 CharliePoole

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.

jnm2 avatar Nov 10 '21 20:11 jnm2

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.

CharliePoole avatar Nov 10 '21 21:11 CharliePoole

I updated the description to clarify the action steps and added checkboxes.

CharliePoole avatar Nov 11 '21 02:11 CharliePoole

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.

CharliePoole avatar Nov 17 '21 05:11 CharliePoole

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

CharliePoole avatar Sep 13 '22 15:09 CharliePoole