CAMEL-23531: Fix Jackson 2.x/3.x dataformat doc collisions#23257
Merged
Conversation
The Jackson 2.x and 3.x dataformat lines share the same DSL `name` (`jackson`, `jacksonXml`, `avroJackson`, `protobufJackson`) so a runtime can drop in either variant transparently. The doc pipeline flattened both variants to the same destination filename, so the second symlink silently overwrote the first and only one entry appeared in the dataformats nav. Disambiguate at the doc layer only — runtime catalog and DSL behaviour are unchanged: - Rename the per-module `<name>-dataformat.adoc` source files with a `2` / `3` suffix in all eight Jackson modules. - Append the major-version suffix to the rendered `.adoc` title in `UpdateReadmeMojo` (driven by the artifactId), and look up the renamed page filename via the same suffix. The dataformat JSON `title` stays unsuffixed, so the catalog and `dataFormatJSonSchema` API keep their existing values. - Detect destination-basename collisions in `PrepareDocSymlinksMojo` and disambiguate Jackson-family `.json` symlinks via the same artifact rule. Any unresolvable collision now fails the build loudly instead of silently overwriting one source. - Regenerate the dataformats nav, page symlinks, JSON example symlinks, and per-module readme headers; both variants now appear with distinct titles (e.g. `JSON Jackson 2` / `JSON Jackson 3`). - Document the page renames in the 4.21 upgrade guide. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com> rh-pre-commit.version: 2.3.2 rh-pre-commit.check-secrets: ENABLED
dataformat doc collisions
Contributor
|
🌟 Thank you for your contribution to the Apache Camel project! 🌟 🐫 Apache Camel Committers, please review the following items:
|
Contributor
|
🧪 CI tested the following changed modules:
Build reactor — dependencies compiled but only changed modules were tested (10 modules)
|
davsclaus
approved these changes
May 16, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Fixes CAMEL-23531.
The Jackson 2.x and 3.x dataformat lines share the same DSL
name(jackson,jacksonXml,avroJackson,protobufJackson) so a runtime can drop in either variant transparently. The doc pipeline flattened both variants to the same destination filename, so the second symlink silently overwrote the first and only one entry appeared in thedataformats nav.
Disambiguate at the doc layer only — runtime catalog and DSL behaviour are unchanged:
<name>-dataformat.adocsource files with a2/3suffix in all eight Jackson modules..adoctitle inUpdateReadmeMojo(driven by the artifactId), and look up the renamed page filename via the same suffix. The dataformat JSONtitlestays unsuffixed, so the catalog anddataFormatJSonSchemaAPI keep their existing values.PrepareDocSymlinksMojoand disambiguate Jackson-family.jsonsymlinks via the same artifact rule. Any unresolvable collision now fails the build loudly instead of silently overwriting one source.JSON Jackson 2/JSON Jackson 3).:page-aliases:created.Target
mainbranch)Tracking
Apache Camel coding standards and style
Claude Opus 4.7 on behalf of Adriano Machado