ammachado opened a new pull request, #26356: URL: https://github.com/apache/camel/pull/26356
## Summary The camel-website build [started failing](https://github.com/apache/camel-website/actions/runs/34718609082) after its lockfile moved `@asciidoctor/core` from 2.2.5 to 2.2.9. The new version is based on Asciidoctor 2.0.23, which logs an error when a table ends with an incomplete row ([asciidoctor#4573](https://github.com/asciidoctor/asciidoctor/issues/4573)). Older versions dropped those cells without a message. The website playbook sets `failure_level: warn`, so every one of these messages fails the build. This PR fixes the docs on `main` that trigger those messages: | Doc | Problem | Fix | |---|---|---| | `jbang-commands/camel-jbang-bind.adoc` (generated) | Option descriptions contain raw pipes (`none\|log\|sink`, `[source\|sink\|...]`), which split the row into extra cells | `MvelHelper.escape()` now escapes `\|` as `\\|`, then the page is regenerated | | `joor-language.adoc`, `java-language.adoc` | The `optionalBody` row is missing its Java Type cell | Add `Optional` (the parameter type in `JoorMethod`) | | `opensearch-component.adoc` | The `Bulk` row is missing the separator between the operation and message body cells | Add the missing `\|` | | `hwcloud-smn-component.adoc` | A trailing `\|` adds a third cell to a two column table | Remove it | | `infinispan-embedded-component.adoc` | The `+` after callout `<3>` attaches the second example to that callout item, so its `<1>`/`<2>` become items 4 and 5 of the first list (`callout list item index: expected 4, got 1`) | Wrap each example in an open block, the same way `infinispan-component.adoc` uses `[tabs]` blocks | The catalog copies of the five component docs are updated to match. ### Why fix `escape()` instead of the jbang template Every template that calls `util.escape()` (`jbang-command-page`, `jbang-options`, `main-options`, `annotation-options`, `readme-examples`) puts the result in a table cell, so escaping the pipe there covers all of them. A scan of the 139 generated pages found no other description containing `|`, so `camel-jbang-bind.adoc` is the only generated output that changes. ## Verification - `MvelHelperTest` has new pipe-escaping cases. They failed before the change and pass after it; all 67 tests in `camel-package-maven-plugin` pass. - I rendered each doc with `@asciidoctor/core` 2.2.9. The unfixed versions reproduce every message from the website CI log at the same line numbers. The fixed versions produce none. - I checked the rendered HTML: each fixed row has the expected number of cells, and the infinispan bullet renders both examples with their own callout lists numbered 1-3 and 1-2. ## Follow-ups (not in this PR) The website build also renders `camel-4.22.x`, `camel-4.18.x` and camel-spring-boot, which have the same problems: - Backports to `camel-4.22.x` and `camel-4.18.x`. On `camel-4.18.x`, the EIP index Step row and `infinispan-component.adoc` also need fixing; both are already fixed on `main`. - camel-spring-boot: `UpdateStarterDocPageMojo` escapes the description cell but not the default value, and the Debezium `custom-sanitize-pattern` default is a regex full of `|`. It affects six Debezium starter pages on `main` and `camel-spring-boot-4.22.x`. 🤖 Generated with [Claude Code](https://claude.com/claude-code) on behalf of Adriano Machado (@ammachado) _This was generated by an AI agent and may contain inaccuracies. Please verify before relying on it._ -- 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]
