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]

  • [PR] CAMEL-24633: Upgrade to ... davsclaus (via GitHub) via commits

Reply via email to