davsclaus opened a new pull request, #29236: URL: https://github.com/apache/camel/pull/29236
[CAMEL-24633](https://issues.apache.org/jira/browse/CAMEL-24633) Upgrades maven-surefire-plugin and maven-failsafe-plugin from 3.5.6 to 3.6.1. The 3.6.0 bump (#26127) was reverted in #26157, and the 3.6.1 bump (#28665) was closed, because of the two changes below. ### 1. junit 4.7 on the classpath Surefire 3.6 fails with `Surefire is not compatible with JUnit 4.11 or older` when junit 4.11 or older is on the test classpath. #28665 failed with this in `camel-endpointdsl`. - The drill path (`drill-jdbc` → junit 4.10) is already excluded on main (33b7377b16b4). - `camel-fhir` excluded junit on `hapi-fhir-structures-r5` only. Another path is left: `hapi-fhir-structures-dstu2.1` → `org.hl7.fhir.dstu2016may` → `org.ogce:xpp3:1.1.6` → `junit:junit:4.7`. It reaches `camel-endpointdsl`, `camel-componentdsl`, `docs` and `apache-camel` through `camel-allcomponents`. - This PR adds the exclusion there. The upstream fix (hapifhir/hapi-fhir#8361) ships in hapi-fhir 8.13.0, which is not released yet. A `dependency:tree -Dincludes=junit:junit` over the whole reactor finds no other junit older than 4.12 (the rest is 4.12 or 4.13.2). ### 2. `-DskipTests` no longer skips Failsafe (SUREFIRE-823) Since 3.6.0, Failsafe's `skipTests` parameter is no longer bound to the `skipTests` user property. `components/pom.xml` runs Failsafe for every component in the `full` profile, which is active without `-Dquickly`. So on 3.6 a plain `mvn clean install -DskipTests`, the command in the PR template, would run all component `*IT` tests, containers included. So would the CI jobs that build with `-DskipTests` but without `-Dquickly`, such as `camel-launcher-native-exe.yml`. The root pom now sets `<skipITs>${skipTests}</skipITs>`, as it already does for `invoker.skip`. `-DskipTests` keeps skipping both, `-DskipITs` still skips only the ITs, and `-DskipTests -DskipITs=false` runs only the ITs. It has the same effect as before, also in modules that set `skipTests` themselves, and avoids Failsafe's deprecated `<skipTests>` parameter. ### Testing - `mvn verify -DskipTests -pl components/camel-ftp` on 3.6.1: Surefire and both Failsafe executions are skipped. As a control, without the new `skipITs` line Failsafe runs on `-DskipTests`. - `help:evaluate`: `skipITs` is `true` with `-DskipTests` and with `-DskipITs`, and unset otherwise. - `dependency:tree` for `camel-fhir` and `camel-endpointdsl`: no junit left. - `mvn test -pl components/camel-fhir/camel-fhir-component,dsl/camel-endpointdsl` on Surefire 3.6.1: 20 and 69 tests pass (`camel-endpointdsl` is where #28665 failed). Draft until CI runs the full build: the revert also mentioned a `spring-ai-image` test failure on 3.6.0 that was not investigated. After merging, `@dependabot unignore` is needed so that Dependabot offers the 3.6.x updates again (they were ignored on #28665). _Claude Code on behalf of davsclaus_ 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_016Y4dDiMc7mxmdVoQiGSMh8 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
