To ease consumption of _JUnit 5_ artifacts, we should introduce a Maven _Bill Of Materials_ POM (search for BOM here) for all published Platform, Jupiter, and Vintage artifacts.
org.junitjunit-bom5.2.0junit-bom Gradle project.spring-framework-bom project.junit-bom POM to Maven Central.Tentatively slated for 5.1 GA.
Note, however, that it would be perfectly fine to _publish_ a BOM for 5.1 GA artifacts _after_ 5.1 GA has been released. Ideally we would release the BOM at the same time, but it is technically not an absolute must.
Update:
I overhauled this issue's description and added deliverables.
The name of the BOM is up for debate, but I believe junit-bom is a suitable name since:
So, I guess the main question is: _what should the Group ID of the BOM be_?
Spring's BOM is published as org.springframework:spring-framework-bom:5.0.3.RELEASE.
So I'm thinking JUnit's BOM should be published as org.junit:junit-bom:5.1.0.
@junit-team/junit-lambda, thoughts?
FYI: I added a _Proposed Maven Coordinates_ section to this issue's description.
_in progress_
I've added a junit-bom subproject that generates a POM with a <dependencyManagement/> block in b8b0753bfcaccb2231b43edead4b392cd25916e8. However, the junit-platform-surefire-provider needs to be declared in the <dependencies/> block of the maven-surefire-plugin. There, the <dependencyManagement/> block is not taken into account. We could add a <pluginManagement/> block and configure the maven-surefire-plugin with our provider and both engines as dependencies. However, I'm not sure if declaring the plugin and overriding its dependencies would then still be possible. Thus, I'm postponing this task for further discussion and experimentation until after 5.1 GA is released.
I've added a
junit-bomsubproject that generates a POM with a<dependencyManagement/>block in b8b0753bfcaccb2231b43edead4b392cd25916e8.
Thanks! 馃憤
Thus, I'm postponing this task for further discussion and experimentation until after 5.1 GA is released.
SGTM
Most helpful comment
WIP: https://oss.sonatype.org/content/repositories/snapshots/org/junit/junit-bom/5.2.0-SNAPSHOT/junit-bom-5.2.0-20180413.191438-1.pom