Introduce JacksonV2 dependency object - #746
Conversation
Routes the SLF4J calls of third-party libraries to the Log4j2 backend. Shares the version of the object, so the binding cannot drift from `core`. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 6cadea0daf
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| */ | ||
| object Optional { | ||
| val jackson = Jackson.bom | ||
| val jackson = JacksonV2.bom |
There was a problem hiding this comment.
Keep the Jackson 3 BOM under the existing name
When a consumer applies platform(Boms.Optional.jackson) and then declares versionless Jackson 3 modules such as Jackson.databind or Jackson.moduleKotlin, this now imports the com.fasterxml.jackson 2.x BOM, which provides no constraints for their tools.jackson.* coordinates. Those constants remain versionless because Jackson.kt states they are covered by its BOM, so dependency resolution will fail for this supported usage. Keep jackson pointing to Jackson.bom and expose the 2.x BOM under a separate name, or otherwise ensure both major-version BOMs are available.
Useful? React with 👍 / 👎.
This PR introduces the
JacksonV2dependency object which is needed for forcing transitive dependencies on previous major version of Jackson.Other notable changes
Log4j2dependency object got the propertyslf4j2Bridge. The version was also bumped to2.26.1.