This is an automated email from the ASF dual-hosted git repository.
fmariani pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/main by this push:
new 6f5860280635 CAMEL-23157: Contribute runtime dependencies API
6f5860280635 is described below
commit 6f58602806353702811620182135669ae306dd6e
Author: Croway <[email protected]>
AuthorDate: Sat Mar 21 11:54:15 2026 -0700
CAMEL-23157: Contribute runtime dependencies API
---
.../java/org/apache/camel/dsl/jbang/core/commands/Run.java | 8 +++-----
.../apache/camel/dsl/jbang/core/common/PluginExporter.java | 11 +++++++++++
2 files changed, 14 insertions(+), 5 deletions(-)
diff --git
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Run.java
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Run.java
index 1c23567cc89e..04b96872916e 100644
---
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Run.java
+++
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Run.java
@@ -970,11 +970,9 @@ public class Run extends CamelCommand {
.collect(Collectors.toSet());
for (PluginExporter exporter : exporters) {
- addDependencies(exporter.getDependencies(runtime)
- .stream()
- .filter(dependency ->
!dependency.startsWith("mvn@test")) // filter test scoped dependencies
- .collect(Collectors.toSet())
- .toArray(String[]::new));
+ if (exporter.contributeRuntimeDependencies()) {
+
addDependencies(exporter.getDependencies(runtime).toArray(String[]::new));
+ }
}
}
diff --git
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/PluginExporter.java
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/PluginExporter.java
index a651471937ac..a5871c408887 100644
---
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/PluginExporter.java
+++
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/PluginExporter.java
@@ -57,6 +57,17 @@ public interface PluginExporter {
return true;
}
+ /**
+ * Whether this plugin exporter should contribute its dependencies when
running Camel integrations via the run
+ * command. By default, plugin exporters do not contribute dependencies at
runtime. Override this method to return
+ * true if the plugin needs its dependencies available at runtime.
+ *
+ * @return true if dependencies should be added during run, false
otherwise.
+ */
+ default boolean contributeRuntimeDependencies() {
+ return false;
+ }
+
/**
* Add plugin specific source files to the exported project.
*/