Deprecate biz.aQute.tester and biz.aQute.junit
I think at some point we should seriously consider deprecating the above two modules.
biz.aQute.tester.junit-platformhas been available for some years now. All new tests should be using it.- Support for JUnit 3 & 4 tests is still available using
biz.aQute.tester.junit-platformtogether withjunit-vintage-engine(though users should also consider upgrading to Jupiter for all tests too). - Maintaining these two packages is an extra overhead (though admittedly a small one) that our community's limited resources probably could do without.
- Dispensing with these and the associated tests which would speed up the build a bit too.
In hindsight, probably the best time to do this would have been when we moved the baseline from Java 8 to Java 17. But it is not too late to do it now.
Proposed roadmap would look something like this:
- 7.2.0 - deprecate biz.aQute.tester and biz.aQute.junit for removal
- 7.2.x and higher - no more bug fixes for these two bundles. Users that run into bugs that can't be worked around will need to migrate to
biz.aQute.tester.junit-platform, and if that by itself does not fix their problem we will will fixbiz.aQute.tester.junit-platforminstead. - 8.0.0:
- Remove biz.aQute.tester and biz.aQute.junit
- Make
biz.aQute.tester.junit-platformthe default for the-testerdirective.
Thoughts/comments welcome.
@stbischof any thoughts on that?
Inam absolutely happy with this plan.
Had the same thoughts on the Tester.
Cutting old ties seems like a good idea, given the complications (https://github.com/bndtools/bnd/issues/6651) we have with different JUnit versions.
- 7.2.0 - deprecate biz.aQute.tester and biz.aQute.junit for removal
@kriegfrj How should this deprecation happen in your opinion? Just mention it in a README / bnd.bnd in this bundle and in the release notes? Basically: how to mark a bundle deprecated. I know this for java methods, but how here?
Are you willing to contribute a PR. Especially since we are heading towards 7.2.0 release, I opened #6756 to collect stuff which we at least "mark" for deprecation.
I don't think there is a standard way to "deprecate" a bundle. I think:
- Mention it in README;
- Perhaps have these testers log a warning at the start of their run loop.