Skip to content

CAMEL-23531: Fix Jackson 2.x/3.x dataformat doc collisions#23257

Merged
davsclaus merged 1 commit into
apache:mainfrom
ammachado:CAMEL-23531
May 17, 2026
Merged

CAMEL-23531: Fix Jackson 2.x/3.x dataformat doc collisions#23257
davsclaus merged 1 commit into
apache:mainfrom
ammachado:CAMEL-23531

Conversation

@ammachado
Copy link
Copy Markdown
Contributor

@ammachado ammachado commented May 15, 2026

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 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. No :page-aliases: created.

Target

  • I checked that the commit is targeting the correct branch (Camel 4 uses the main branch)

Tracking

  • If this is a large change, bug fix, or code improvement, I checked there is a JIRA issue filed for the change (usually before you start working on it).

Apache Camel coding standards and style

  • I checked that each commit in the pull request has a meaningful subject line and body.
  • I have run `mvn clean install -DskipTests` locally from root folder and I have committed all auto-generated changes.

Claude Opus 4.7 on behalf of Adriano Machado

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
@ammachado ammachado marked this pull request as draft May 15, 2026 18:57
@ammachado ammachado marked this pull request as ready for review May 15, 2026 19:01
@ammachado ammachado changed the title CAMEL-23531: Fix Jackson 2.x/3.x dataformat doc collisions CAMEL-23531: Fix Jackson 2.x/3.x dataformat doc collisions May 15, 2026
@github-actions
Copy link
Copy Markdown
Contributor

ghost commented May 16, 2026

🌟 Thank you for your contribution to the Apache Camel project! 🌟
🤖 CI automation will test this PR automatically.

🐫 Apache Camel Committers, please review the following items:

  • First-time contributors require MANUAL approval for the GitHub Actions to run
  • You can use the command /component-test (camel-)component-name1 (camel-)component-name2.. to request a test from the test bot although they are normally detected and executed by CI.
  • You can label PRs using skip-tests and test-dependents to fine-tune the checks executed by this PR.
  • Build and test logs are available in the summary page. Only Apache Camel committers have access to the summary.

⚠️ Be careful when sharing logs. Review their contents before sharing them publicly.

@github-actions
Copy link
Copy Markdown
Contributor

ghost commented May 16, 2026

🧪 CI tested the following changed modules:

  • components/camel-jackson-avro
  • components/camel-jackson-protobuf
  • components/camel-jackson
  • components/camel-jackson3-avro
  • components/camel-jackson3-protobuf
  • components/camel-jackson3
  • components/camel-jackson3xml
  • components/camel-jacksonxml
  • docs
  • tooling/maven/camel-package-maven-plugin

ℹ️ Dependent modules were not tested because the total number of affected modules exceeded the threshold (50). Use the test-dependents label to force testing all dependents.

Build reactor — dependencies compiled but only changed modules were tested (10 modules)
  • Camel :: Docs
  • Camel :: Jackson
  • Camel :: Jackson 3
  • Camel :: Jackson 3 Avro
  • Camel :: Jackson 3 Protobuf
  • Camel :: Jackson 3 XML
  • Camel :: Jackson Avro
  • Camel :: Jackson Protobuf
  • Camel :: Jackson XML
  • Camel :: Maven Plugins :: Camel Maven Package

⚙️ View full build and test results

@davsclaus davsclaus merged commit 1795c8c into apache:main May 17, 2026
7 checks passed
@ammachado ammachado deleted the CAMEL-23531 branch May 18, 2026 16:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants