[ https://issues.apache.org/jira/browse/SLING-12131?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17784146#comment-17784146 ]
Julian Sedding commented on SLING-12131: ---------------------------------------- If migration is the goal, then it may make sense to facilitate semi-automated migration. A quick google turned up that the OpenRewrite projct has several [rules for migrating various scenarios|https://docs.openrewrite.org/recipes/java/testing/junit5]. There is a maven plugin, so we could add a configuration to the parent pom. IIUC it is [invoked using {{mvn rewrite:run}}|https://docs.openrewrite.org/running-recipes/getting-started#step-4-run-a-simple-refactoring-recipe]. We could also put the plugin into a profile, if we want to guard against any surprises. I agree that it would be desirable to migrate all actively maintained modules to junit5. That said, I don't believe it is realistic in the foreseeable future, most certainly not without automation. There are custom {{@Rule}} implementations that are non-trivial to migrate. There are runners, that may not be trivial to migrate, either. The difference between assertions and some ootb {{@Rule}}s can likely be covered with automation. Remains to be seen how well the automation works. > Update sling-parent pom.xml to include JUnit5 dependencies > ---------------------------------------------------------- > > Key: SLING-12131 > URL: https://issues.apache.org/jira/browse/SLING-12131 > Project: Sling > Issue Type: Task > Reporter: Rob McDougall > Priority: Major > > JUnit4 is in maintenance mode (no updates in the last 2 years and then only > security fixes). I think updating projects to JUnit5 should be encouraged. > I am thinking this should be a relatively easy change of adding the > junit-jupiter and junit-vintage-engine into the Dependency Management section > of the sling-parent. > Once this is done, individual projects could switch to the vintage-engine (at > the very least) or move to jupiter by switching the dependency in their > project pom. > Some day down the road, the JUnit 4 dependencies could be removed. Projects > that have not updated to JUnit5 (vintage or jupiter) by that time are likely > no longer maintained. -- This message was sent by Atlassian Jira (v8.20.10#820010)