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]

Reply via email to