Skip to content

[backport camel-4.22.x] CAMEL-24628: camel-cli - camel dependency update propagate route files to export pipeline - #26131

Merged
Croway merged 1 commit into
apache:camel-4.22.xfrom
djelinek:backport/CAMEL-24628-camel-4.22.x
Sep 4, 2026
Merged

[backport camel-4.22.x] CAMEL-24628: camel-cli - camel dependency update propagate route files to export pipeline#26131
Croway merged 1 commit into
apache:camel-4.22.xfrom
djelinek:backport/CAMEL-24628-camel-4.22.x

Conversation

@djelinek

@djelinek djelinek commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

Description

Backport of #26122

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.

AI-assisted contributions

  • If this PR includes AI-generated code, commits have proper co-authorship attribution (e.g., Co-authored-by trailers) and the PR description identifies the AI tool used.

…ate propagate route files to export pipeline

## Problem

Since CAMEL-22544, `camel dependency update pom.xml route.camel.yaml`
silently drops the route file and resolves zero dependencies.

The `@Parameters(arity="1..*")` change causes all positional arguments
to be consumed by `DependencyUpdate.targetFiles`. Non-update files
(YAML/XML route definitions) are correctly classified but never
propagated to `ExportBaseCommand.files`, so the export pipeline runs
with no routes and discovers no components.

This is a regression from Camel 4.20, where `arity="1"` let the second
positional flow to `ExportBaseCommand.files` via `FilesConsumer`.

IDE tooling uses this two-argument calling convention, as confirmed by
prior issues CAMEL-22447 and CAMEL-22446.

## Fix

Add an `else` branch in `DependencyUpdate.doCall()` that forwards
non-target files (YAML, XML routes) to `this.files` for the export
pipeline — exactly as the `@Parameters` description already promises.

Add a test that passes both `pom.xml` and a route file as positional
arguments to verify the route is used for dependency resolution.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com
@github-actions

github-actions Bot commented Sep 4, 2026

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.

@github-actions github-actions Bot added the dsl label Sep 4, 2026
@github-actions

github-actions Bot commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

🧪 CI tested the following changed modules:

  • dsl/camel-jbang/camel-jbang-core

🔬 Scalpel shadow comparison — Scalpel: 7 tested, 8 compile-only — current: 6 all tested

Maveniverse Scalpel detected 15 affected modules (current approach: 6).

⚠️ Modules only in Scalpel (9)
  • camel-jbang-core
  • camel-jbang-it
  • camel-jbang-main
  • camel-jbang-plugin-edit
  • camel-jbang-plugin-generate
  • camel-jbang-plugin-kubernetes
  • camel-jbang-plugin-test
  • camel-launcher
  • coverage

Skip-tests mode would test 7 modules (1 direct + 6 downstream), skip tests for 8 (generated code, meta-modules)

Modules Scalpel would test (7)
  • camel-jbang-core
  • camel-jbang-mcp
  • camel-jbang-plugin-mcp
  • camel-jbang-plugin-route-parser
  • camel-jbang-plugin-tui
  • camel-jbang-plugin-validate
  • camel-launcher-container
Modules with tests skipped (8)
  • camel-jbang-it
  • camel-jbang-main
  • camel-jbang-plugin-edit
  • camel-jbang-plugin-generate
  • camel-jbang-plugin-kubernetes
  • camel-jbang-plugin-test
  • camel-launcher
  • coverage

ℹ️ 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: 1 test(s) disabled on GitHub Actions

💡 Manual integration tests recommended:

You modified dsl/camel-jbang/camel-jbang-core. 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 (15 modules)
  • Camel :: Coverage
  • Camel :: JBang :: Core
  • Camel :: JBang :: Integration tests
  • Camel :: JBang :: MCP
  • Camel :: JBang :: Main
  • Camel :: JBang :: Plugin :: Edit
  • Camel :: JBang :: Plugin :: Generate
  • Camel :: JBang :: Plugin :: Kubernetes
  • Camel :: JBang :: Plugin :: MCP
  • Camel :: JBang :: Plugin :: Route Parser
  • Camel :: JBang :: Plugin :: TUI
  • Camel :: JBang :: Plugin :: Testing
  • Camel :: JBang :: Plugin :: Validate
  • Camel :: Launcher
  • Camel :: Launcher :: Container

⚙️ View full build and test results

@Croway
Croway merged commit 9f5c468 into apache:camel-4.22.x Sep 4, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants