bnd icon indicating copy to clipboard operation
bnd copied to clipboard

Deprecate biz.aQute.tester and biz.aQute.junit

Open kriegfrj opened this issue 6 months ago • 5 comments

I think at some point we should seriously consider deprecating the above two modules.

  • biz.aQute.tester.junit-platform has 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-platform together with junit-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 fix biz.aQute.tester.junit-platform instead.
  • 8.0.0:
    • Remove biz.aQute.tester and biz.aQute.junit
    • Make biz.aQute.tester.junit-platform the default for the -tester directive.

Thoughts/comments welcome.

kriegfrj avatar Jun 30 '25 03:06 kriegfrj

@stbischof any thoughts on that?

chrisrueger avatar Jul 10 '25 20:07 chrisrueger

Inam absolutely happy with this plan.

Had the same thoughts on the Tester.

stbischof avatar Jul 10 '25 20:07 stbischof

Cutting old ties seems like a good idea, given the complications (https://github.com/bndtools/bnd/issues/6651) we have with different JUnit versions.

chrisrueger avatar Jul 16 '25 13:07 chrisrueger

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

synesty-cr avatar Aug 13 '25 09:08 synesty-cr

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.

kriegfrj avatar Aug 13 '25 15:08 kriegfrj