gnodet-bot commented on code in PR #26673:
URL: https://github.com/apache/camel/pull/26673#discussion_r4060862084


##########
components/camel-jolt/pom.xml:
##########
@@ -51,13 +51,13 @@
         </dependency>
 
         <dependency>
-            <groupId>com.bazaarvoice.jolt</groupId>
-            <artifactId>jolt-core</artifactId>
+            <groupId>io.github.jolt-community.jolt</groupId>
+            <artifactId>jolt-community-core</artifactId>
             <version>${jolt-version}</version>
         </dependency>
         <dependency>
-            <groupId>com.bazaarvoice.jolt</groupId>
-            <artifactId>json-utils</artifactId>
+            <groupId>io.github.jolt-community.jolt</groupId>
+            <artifactId>json-community-utils</artifactId>

Review Comment:
   ⚠️ **Jackson 3 version conflict introduced transitively.**
   
   `json-community-utils:1.3.0` declares `tools.jackson.core:jackson-databind` 
(Jackson 3) as a **compile-scope** dependency ([verified on Maven 
Central](https://central.sonatype.com/artifact/io.github.jolt-community.jolt/json-community-utils/1.3.0)).
 Jackson 3 changed its Maven groupId from `com.fasterxml.jackson.core` to 
`tools.jackson.core`, so both JARs end up on the classpath simultaneously — 
they do **not** shadow each other.
   
   `camel-jolt` already has `com.fasterxml.jackson.core:jackson-databind` 
(Jackson 2) as a direct dependency, and Camel at large uses Jackson 2 
throughout. At runtime, when `json-community-utils` returns a 
`tools.jackson.databind.ObjectNode` that code compiled against 
`com.fasterxml.jackson.databind.ObjectNode` tries to consume, you get a 
`ClassCastException` or `NoSuchMethodError`.
   
   Options:
   1. Exclude `tools.jackson.core` from `json-community-utils` and verify that 
the subset of its API used here compiles/runs without it (jolt-community-core 
does **not** declare Jackson 3 at compile scope — only `json-community-utils` 
does).
   2. Remove `json-community-utils` from the direct compile dependencies 
entirely if it is not needed at compile time by camel-jolt code (it was 
previously only a test-scope dependency inside jolt-community-core itself).
   3. Check whether a lower version of jolt-community (`1.0.x` or `1.1.x`, 
before the Jackson 3 migration) avoids the conflict while still providing the 
needed package rename.



##########
docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_23.adoc:
##########
@@ -2349,3 +2349,13 @@ The `maxRetryTimeout` endpoint and component option is 
deprecated in both `camel
 it had no effect. The option is kept for backward compatibility of existing 
endpoint URIs but is marked
 deprecated and will be removed in a future release. Routes that set 
`maxRetryTimeout` can simply drop it;
 behaviour is unchanged.
+
+=== camel-jolt - switch from unmaintained bazaarvoice jolt to the 
jolt-community fork
+
+The JOLT library dependency has been migrated from 
`com.bazaarvoice.jolt:jolt-core` to
+`io.github.jolt-community.jolt:jolt-community-core`.
+See https://github.com/jolt-community/jolt-community[JOLT (Community Edition)].
+
+Due to the package rename from `com.bazaarvoice.jolt` to 
`io.joltcommunity.jolt`, users who plug custom `Transform` or
+`ContextualTransform` classes into a Chainr spec need to update their imports 
to `io.joltcommunity.jolt.Transform` and
+`io.joltcommunity.jolt.ContextualTransform`.

Review Comment:
   📝 **Upgrade guide missing `Removr` package move.**
   
   The guide correctly warns about `Transform` and `ContextualTransform`, but 
`Removr` was also relocated to a sub-package in jolt-community. The old import 
was `com.bazaarvoice.jolt.Removr`; the new one is 
`io.joltcommunity.jolt.removr.Removr` (note the extra `removr.` sub-package). 
Users who referenced `Removr` directly will get a compile error without this 
note.
   
   Suggested addition:
   ```
   Users referencing `Removr` directly also need to update their import to 
`io.joltcommunity.jolt.removr.Removr`.
   ```



-- 
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]

Reply via email to