Skip to content

CAMEL-25587: camel-jbang - remove the route-parser plugin, use camel cmd route-structure instead - #27723

Merged
davsclaus merged 1 commit into
mainfrom
fix/CAMEL-25587
Oct 12, 2026
Merged

davsclaus merged 1 commit into
mainfrom
fix/CAMEL-25587

Conversation

@davsclaus

Copy link
Copy Markdown
Contributor

The route-parser plugin (camel route-parser, since 4.17) parses Java routes with camel-route-parser (Roaster/JDT) and prints the route structure. camel cmd route-structure MyRoute.java prints the same tree, read with the Java DSL parser of camel-java-io once #27715 (CAMEL-25565) is in, and it works for YAML and XML too. So this PR removes the plugin:

  • the camel-jbang-plugin-route-parser module, and its entries in dsl/camel-jbang/pom.xml, parent/pom.xml, bom/camel-bom/pom.xml and coverage/pom.xml;
  • PluginType.ROUTE_PARSER;
  • the camel route-parser command page, its row in the commands index, and its row in the plugin table of camel-jbang-projects.adoc;
  • the comment about it in the launcher pom.

camel-route-parser itself stays, since camel-report-maven-plugin and IDE tooling use it.

A user who installed the plugin keeps it as an entry in their plugin config, which the CLI then treats like any other non-Camel plugin. The new 4.24 upgrade-guide entry says to use camel cmd route-structure and to remove the plugin with camel plugin delete route-parser. (camel-4x-upgrade-guide-4_24.adoc is new here, as in #27679, #27681, #27714, #27715 and #27717; whichever is merged later keeps the header once and all sections.)

Please merge this after #27715, so route-structure reads Java sources without compiling them when the plugin is gone. The camel-sbom files still list the artifact; the SBOM regen job updates them.

Checked: camel-jbang-core and camel-launcher build, the plugin and CamelJBangMain tests pass (28), and nothing else in dsl/ or the docs refers to the plugin.

Fixes CAMEL-25587

Claude Code on behalf of Claus Ibsen

🤖 Generated with Claude Code

@github-actions

Copy link
Copy Markdown
Contributor

🌟 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.

@gnodet-bot gnodet-bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The PR cleanly removes the route-parser plugin — module references, enum entry, docs, and BOM entries are all consistently deleted.

However, there are two merge conflict issues with the upgrade guide changes that need attention before merging.

This review was generated by an AI agent, Hermès on behalf of @gnodet.

Comment thread docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide.adoc
@github-actions

github-actions Bot commented Oct 12, 2026 •

Copy link
Copy Markdown
Contributor

🧪 CI tested the following changed modules:

  • bom/camel-bom
  • coverage
  • docs
  • dsl/camel-jbang
  • dsl/camel-jbang/camel-jbang-core
  • dsl/camel-jbang
  • dsl/camel-jbang/camel-launcher
  • parent

🔬 Scalpel shadow comparison — Scalpel: 9 of 703 tested, 3 compile-only — current: 5 all tested

Maveniverse Scalpel detected 9 affected modules (current approach: 5).

Changed managed dependencies: org.apache.camel:camel-jbang-plugin-route-parser

Skip-tests mode would test 9 modules (6 direct + 0 downstream), skip tests for 3 (generated code, meta-modules)

⚠️ Modules only in Scalpel (4)
  • camel-bom
  • camel-jpa
  • camel-yaml-dsl-validator
  • camel-yaml-dsl-validator-maven-plugin
Modules Scalpel would test (9)
  • camel-bom ← own pom bom/camel-bom/pom.xml changed
  • camel-jbang-mcp ← depends on affected reactor module org.apache.camel:camel-yaml-dsl-validator
  • camel-jbang-plugin-mcp ← depends on affected reactor module org.apache.camel:camel-jbang-core
  • camel-jbang-plugin-tui ← depends on affected reactor module org.apache.camel:camel-yaml-dsl-validator
  • camel-jbang-plugin-validate ← depends on affected reactor module org.apache.camel:camel-yaml-dsl-validator
  • camel-jpa ← effective property camel.surefire.fork.additional-vmargs
  • camel-launcher-container ← depends on affected reactor module org.apache.camel:camel-launcher
  • camel-yaml-dsl-validator ← depends on affected reactor module org.apache.camel:camel-catalog
  • camel-yaml-dsl-validator-maven-plugin ← depends on affected reactor module org.apache.camel:camel-yaml-dsl-validator
Modules with tests skipped (3)
  • camel-itest
  • camel-yaml-dsl
  • camel-yaml-dsl-deserializers

ℹ️ Shadow mode — Scalpel observes but does not affect test execution. Learn more

⚠️ Some tests are disabled on GitHub Actions (@DisabledIfSystemProperty(named = "ci.env.name")) and require manual verification:

  • dsl/camel-jbang/camel-jbang-core: 2 test(s) disabled on GitHub Actions
  • dsl/camel-jbang: 13 test(s) disabled on GitHub Actions
  • dsl/camel-jbang: 13 test(s) disabled on GitHub Actions

💡 Manual integration tests recommended:

You modified dsl/camel-jbang/camel-jbang-core, dsl/camel-jbang/camel-launcher. The related integration tests in dsl/camel-jbang/camel-jbang-it are excluded from CI. Consider running them manually:

mvn verify -f dsl/camel-jbang/camel-jbang-it -Djbang-it-test
All tested modules (36 modules, 5m 3s total)

Total reactor time: 5m 3s

Module Duration Status
Camel :: JPA 47.0s SUCCESS
Camel :: Launcher 32.9s SUCCESS
Camel :: JBang :: MCP 29.3s SUCCESS
Camel :: Component DSL 22.5s SUCCESS
Camel :: YAML DSL :: Validator 19.6s SUCCESS
Camel :: Catalog :: Camel Catalog 19.3s SUCCESS
Camel :: YAML DSL 19.0s SUCCESS
Camel :: JBang :: Plugin :: Kubernetes 17.0s SUCCESS
Camel :: JBang :: Plugin :: Validate 14.5s SUCCESS
Camel :: Docs 12.9s SUCCESS
Camel :: JBang :: Plugin :: Testing 11.7s SUCCESS
Camel :: Kamelet Main 9.1s SUCCESS
Camel :: YAML DSL :: Deserializers 8.7s SUCCESS
Camel :: Catalog :: Camel Route Parser 7.1s SUCCESS
Camel :: Catalog :: Camel Report Maven Plugin 5.6s SUCCESS
Camel :: YAML DSL :: Validator Maven Plugin 4.6s SUCCESS
Camel :: All Components Sync point 4.3s SUCCESS
Camel :: YAML DSL :: Maven Plugins 2.7s SUCCESS
Camel :: Catalog :: Suggest (deprecated) 2.1s SUCCESS
Camel :: Catalog :: Maven 2.0s SUCCESS
Camel :: Assembly 1.5s SUCCESS
Camel :: JBang :: Plugin :: Edit 1.2s SUCCESS
Camel :: JBang :: Plugin :: MCP 1.2s SUCCESS
Camel :: JBang :: Integration tests 1.1s SUCCESS
Camel :: BOM 0.9s SUCCESS
Camel :: Catalog :: Dummy Component 0.9s SUCCESS
Camel :: JBang :: Plugin :: Generate 0.9s SUCCESS
Camel :: Catalog :: Console 0.9s SUCCESS
Camel :: Coverage 0.8s SUCCESS
Camel :: JBang :: Main 0.7s SUCCESS
Camel :: Endpoint DSL :: Support 0.6s SUCCESS
Camel :: Launcher :: Container 0.4s SUCCESS
Camel :: Endpoint DSL n/a
Camel :: Integration Tests n/a
Camel :: JBang :: Core n/a
Camel :: JBang :: Plugin :: TUI n/a

Top 20 slowest modules:

  • Camel :: JPA (47.0s)
  • Camel :: Launcher (32.9s)
  • Camel :: JBang :: MCP (29.3s)
  • Camel :: Component DSL (22.5s)
  • Camel :: YAML DSL :: Validator (19.6s)
  • Camel :: Catalog :: Camel Catalog (19.3s)
  • Camel :: YAML DSL (19.0s)
  • Camel :: JBang :: Plugin :: Kubernetes (17.0s)
  • Camel :: JBang :: Plugin :: Validate (14.5s)
  • Camel :: Docs (12.9s)
  • Camel :: JBang :: Plugin :: Testing (11.7s)
  • Camel :: Kamelet Main (9.1s)
  • Camel :: YAML DSL :: Deserializers (8.7s)
  • Camel :: Catalog :: Camel Route Parser (7.1s)
  • Camel :: Catalog :: Camel Report Maven Plugin (5.6s)
  • Camel :: YAML DSL :: Validator Maven Plugin (4.6s)
  • Camel :: All Components Sync point (4.3s)
  • Camel :: YAML DSL :: Maven Plugins (2.7s)
  • Camel :: Catalog :: Suggest (deprecated) (2.1s)
  • Camel :: Catalog :: Maven (2.0s)

⚙️ View full build and test results

@gnodet-bot gnodet-bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Previous doc concerns (merge conflict risk, duplicate xref) are resolved — the branch was rebased and now correctly appends the route-parser removal notice to the existing 4.24 upgrade guide content. Cleanup is thorough: BOM, coverage, parent POM, module list, enum entry, docs table rows, and the reference adoc are all removed. Migration note is accurate (camel cmd route-structure supports Java/YAML/XML and doesn't require compiling).

LGTM.

This review was generated by an AI agent, Hermès on behalf of @gnodet.

@davsclaus davsclaus self-assigned this Oct 12, 2026
@davsclaus davsclaus added the task label Oct 12, 2026
…cmd route-structure instead

camel cmd route-structure prints the structure of the routes of a Java source
read with the Java DSL parser (CAMEL-25565), and of YAML and XML sources, so
the route-parser plugin (camel-route-parser / Roaster) is removed.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Signed-off-by: Claus Ibsen <claus.ibsen@gmail.com>
@davsclaus
davsclaus merged commit 2527259 into main Oct 12, 2026
10 of 11 checks passed
@davsclaus
davsclaus deleted the fix/CAMEL-25587 branch October 12, 2026 18:12
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