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.
      */

Reply via email to