This is an automated email from the ASF dual-hosted git repository.

davsclaus 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 e058c95dd725 CAMEL-22660: camel-jbang - Use --stub=all should only 
stub components (#19821)
e058c95dd725 is described below

commit e058c95dd7250f841c8fe370a22692bae2b82f23
Author: Claus Ibsen <[email protected]>
AuthorDate: Thu Nov 6 07:16:31 2025 +0100

    CAMEL-22660: camel-jbang - Use --stub=all should only stub components 
(#19821)
    
    CAMEL-22660: camel-jbang - Use --stub=all should only stub components
---
 .../main/java/org/apache/camel/dsl/jbang/core/commands/Run.java   | 7 ++++---
 .../src/main/java/org/apache/camel/main/KameletMain.java          | 2 +-
 .../main/download/DependencyDownloaderComponentResolver.java      | 8 +++++++-
 .../main/download/DependencyDownloaderDataFormatResolver.java     | 7 ++++++-
 .../camel/main/download/DependencyDownloaderLanguageResolver.java | 7 ++++++-
 .../camel/main/download/KameletAutowiredLifecycleStrategy.java    | 2 +-
 6 files changed, 25 insertions(+), 8 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 ed5107028c44..1abbae530a77 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
@@ -275,8 +275,8 @@ public class Run extends CamelCommand {
     @Option(names = { "--prop", "--property" }, description = "Additional 
properties (override existing)", arity = "0")
     String[] property;
 
-    @Option(names = { "--stub" }, description = "Stubs all the matching 
endpoint with the given component name or pattern."
-                                                + " Multiple names can be 
separated by comma. (all = everything).")
+    @Option(names = { "--stub" }, description = "Stubs all the matching 
endpoint uri with the given component name or pattern."
+                                                + " Multiple names can be 
separated by comma. (all = stub all endpoints).")
     String stub;
 
     @Option(names = { "--jfr" }, defaultValue = "false",
@@ -589,7 +589,8 @@ public class Run extends CamelCommand {
 
         if (stub != null) {
             if ("all".equals(stub)) {
-                stub = "*";
+                // stub all components only
+                stub = "component:*";
             }
             // we need to match by wildcard, to make it easier
             StringJoiner sj = new StringJoiner(",");
diff --git 
a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/KameletMain.java 
b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/KameletMain.java
index caff3eb0128d..32de5172de4b 100644
--- 
a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/KameletMain.java
+++ 
b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/KameletMain.java
@@ -496,7 +496,7 @@ public class KameletMain extends MainCommandLineSupport {
             configure().httpManagementServer().withEnabled(false);
         }
 
-        if (silent || "*".equals(stubPattern)) {
+        if (silent || "*".equals(stubPattern) || 
"component:*".equals(stubPattern)) {
             // turn off auto-wiring when running in silent mode (or stub = *)
             mainConfigurationProperties.setAutowiredEnabled(false);
             // and turn off fail fast as we stub components
diff --git 
a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderComponentResolver.java
 
b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderComponentResolver.java
index 9fc30b8ebd43..5e51e5ba18b5 100644
--- 
a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderComponentResolver.java
+++ 
b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderComponentResolver.java
@@ -146,7 +146,13 @@ public final class DependencyDownloaderComponentResolver 
extends DefaultComponen
             return true;
         }
 
-        boolean stubbed = PatternHelper.matchPatterns(name, 
stubPattern.split(","));
+        boolean stubbed = false;
+        for (String n : stubPattern.split(",")) {
+            if (n.startsWith("component:")) {
+                n = n.substring(10);
+            }
+            stubbed |= PatternHelper.matchPattern(name, n);
+        }
         return !stubbed;
     }
 
diff --git 
a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderDataFormatResolver.java
 
b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderDataFormatResolver.java
index 7bdc85280ec0..dc26929ef710 100644
--- 
a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderDataFormatResolver.java
+++ 
b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderDataFormatResolver.java
@@ -80,7 +80,12 @@ public final class DependencyDownloaderDataFormatResolver 
extends DefaultDataFor
             return true;
         }
 
-        boolean stubbed = PatternHelper.matchPatterns(name, 
stubPattern.split(","));
+        boolean stubbed = false;
+        for (String n : stubPattern.split(",")) {
+            if (n.startsWith("dataformat:")) {
+                stubbed |= PatternHelper.matchPattern(name, n.substring(11));
+            }
+        }
         return !stubbed;
     }
 
diff --git 
a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderLanguageResolver.java
 
b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderLanguageResolver.java
index b15eaab6f94e..32ff45c41327 100644
--- 
a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderLanguageResolver.java
+++ 
b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/DependencyDownloaderLanguageResolver.java
@@ -94,7 +94,12 @@ public final class DependencyDownloaderLanguageResolver 
extends DefaultLanguageR
             return true;
         }
 
-        boolean stubbed = PatternHelper.matchPatterns(name, 
stubPattern.split(","));
+        boolean stubbed = false;
+        for (String n : stubPattern.split(",")) {
+            if (n.startsWith("language:")) {
+                stubbed |= PatternHelper.matchPattern(name, n.substring(9));
+            }
+        }
         return !stubbed;
     }
 
diff --git 
a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/KameletAutowiredLifecycleStrategy.java
 
b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/KameletAutowiredLifecycleStrategy.java
index bc886a9f8137..5a6c898baefa 100644
--- 
a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/KameletAutowiredLifecycleStrategy.java
+++ 
b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/download/KameletAutowiredLifecycleStrategy.java
@@ -70,7 +70,7 @@ public class KameletAutowiredLifecycleStrategy extends 
MainAutowiredLifecycleStr
         }
         if (stubPattern == null) {
             return true;
-        } else if (stubPattern.equals("*")) {
+        } else if (stubPattern.equals("*") || 
stubPattern.equals("component:*")) {
             return false;
         } else {
             // is the component stubbed, then it should not autowire

Reply via email to