Skip to content

CAMEL-23157: Contribute runtime dependencies API#22172

Open
Croway wants to merge 1 commit intoapache:mainfrom
Croway:CAMEL-23157-contribute-runtime-deps
Open

CAMEL-23157: Contribute runtime dependencies API#22172
Croway wants to merge 1 commit intoapache:mainfrom
Croway:CAMEL-23157-contribute-runtime-deps

Conversation

@Croway
Copy link
Contributor

@Croway Croway commented Mar 21, 2026

JIRA: CAMEL-23157

Description

  • Let each plugin configure if the runtime dependencies should be automatically exported (when using camel run *), or not.

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.

@Croway Croway requested a review from christophd March 21, 2026 18:55
@github-actions github-actions bot added the dsl label Mar 21, 2026
@github-actions
Copy link
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 build-all, build-dependents, 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
Copy link
Contributor

gnodet commented Mar 23, 2026

Claude Code on behalf of Guillaume Nodet

Thanks for the PR! A couple of questions:

  1. Default behavior change: The new contributeRuntimeDependencies() defaults to false, which changes the current behavior where all plugin exporters contribute their dependencies during camel run. Are there existing PluginExporter implementations that rely on this? If so, they would silently stop contributing dependencies. Was this intentional?

  2. Test-scoped dependency filtering removed: The previous code filtered out test-scoped dependencies (!dependency.startsWith("mvn@test")). With this change, plugins that opt in via contributeRuntimeDependencies() will contribute all dependencies, including test-scoped ones. Is this intended, or should the filtering be preserved?

@Croway
Copy link
Contributor Author

Croway commented Mar 23, 2026

@gnodet Are there existing PluginExporter implementations that rely on this? No, the only one is being developed. Moreover, at the moment, camel 4.18, does not contribute automatically dependencies at all in the run scenario.

Test-scoped dependency filtering removed The purpose of this PR is to avoid handling the dependencies to exclude in the core itself, but each plugin will contribute more dependencies or not, the default to false is to avoid other plugins to update code.

Copy link
Contributor

@gnodet gnodet left a comment

Choose a reason for hiding this comment

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

LGTM

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.

3 participants