Relocate arquillian-junit-5-* to arquillian-junit-jupiter and add JUnit 6.x testing#809
Relocate arquillian-junit-5-* to arquillian-junit-jupiter and add JUnit 6.x testing#809rhusar wants to merge 4 commits into
Conversation
…jupiter-* Rename the JUnit 5 module artifacts to use "junit-jupiter" naming convention to avoid confusion with JUnit version numbers. Users asking for "JUnit 6 support" can now see clearly that this module supports the JUnit Jupiter platform (both JUnit 5 and JUnit 6). Changes: - Rename junit5/ directory to junit-jupiter/ - Rename artifact IDs from arquillian-junit5-* to arquillian-junit-jupiter-* - Add relocations/ module with POMs that redirect old artifact IDs - Update BOM with new coordinates while keeping old ones for compatibility - Update integration tests to use new artifact names Fixes arquillian#805 Signed-off-by: Radoslav Husar <radosoft@gmail.com>
Add a Maven profile 'junit6' that overrides the JUnit version to 6.0.2 and a CI job that tests the JUnit Jupiter module with JUnit 6 on Java 17 and 21 to verify compat. Signed-off-by: Radoslav Husar <radosoft@gmail.com>
…an.jupiter Signed-off-by: Radoslav Husar <radosoft@gmail.com>
Reviewer's GuideRelocates the JUnit 5 integration to a new JUnit Jupiter module namespace, adds relocation POMs for backward compatibility, and introduces CI/build support for testing the JUnit Jupiter modules against both JUnit 5.x and 6.x (Java 17+). Flow diagram for updated CI workflow with JUnit 6 verificationflowchart TD
start[CI triggered] --> matrix_default
subgraph job_default
matrix_default[Job verify matrix java 8 11 17] --> checkout_default[Checkout arquillian-core]
checkout_default --> setup_java_default[Setup JDK matrix.java]
setup_java_default --> maven_verify_default[Maven clean verify]
end
start --> matrix_junit6
subgraph job_junit6
matrix_junit6[Job junit6-verify matrix java 17 21] --> checkout_junit6[Checkout arquillian-core]
checkout_junit6 --> setup_java_junit6[Setup JDK matrix.java]
setup_java_junit6 --> maven_verify_junit6[Maven clean verify with profile junit6 and modules junit-jupiter/core and junit-jupiter/container]
end
File-Level Changes
Assessment against linked issues
Possibly linked issues
Tips and commandsInteracting with Sourcery
Customizing Your ExperienceAccess your dashboard to:
Getting Help
|
|
@jamezp please have a look |
There was a problem hiding this comment.
Hey - I've left some high level feedback:
- In the relocation POMs (
relocations/arquillian-junit5-coreandrelocations/arquillian-junit5-container), consider changing the packaging topomand removing the explicit dependency on the newjunit-jupiterartifacts so that the relocated coordinates don’t introduce unnecessary transitive dependencies and rely purely on Maven’s relocation metadata. - The relocation modules currently inherit from
arquillian-buildwhile the relocations parent POM inherits fromarquillian-parent; it may be worth aligning these parents (or documenting the rationale) to keep the module hierarchy and build configuration consistent.
Prompt for AI Agents
Please address the comments from this code review:
## Overall Comments
- In the relocation POMs (`relocations/arquillian-junit5-core` and `relocations/arquillian-junit5-container`), consider changing the packaging to `pom` and removing the explicit dependency on the new `junit-jupiter` artifacts so that the relocated coordinates don’t introduce unnecessary transitive dependencies and rely purely on Maven’s relocation metadata.
- The relocation modules currently inherit from `arquillian-build` while the relocations parent POM inherits from `arquillian-parent`; it may be worth aligning these parents (or documenting the rationale) to keep the module hierarchy and build configuration consistent.Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.
- Change packaging to pom (no JAR needed for metadata-only POMs) - Remove unnecessary dependencies on new artifacts (relocation metadata is sufficient for Maven to redirect consumers) - Align parent to arquillian-relocations-parent for consistency
Addressed. |
|
I wish the Arquillian core adopting JUnit 6 would be in a new major release (e.g., 2.0), and the JDK baseline would be upgraded to Java 17+ (and all API/SPI code cleaned up to Java 17). |
Fix #805 and #808
Core design:
Rename artefactId and groupId to remove explicit 'junit5' reference.
Add relocation POM.
Does NOT rename packages.
Summary by Sourcery
Relocate the JUnit 5 integration to new arquillian-junit-jupiter artifacts and introduce infrastructure to verify compatibility with JUnit 6.
New Features:
Enhancements:
CI: