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

gnodet 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 c00319b34c6b CAMEL-23235: Propagate --java-version option to jbang 
run/debug commands
c00319b34c6b is described below

commit c00319b34c6b7d1afbade261a4bc02b4a8a14c6c
Author: Salvatore Mongiardo <[email protected]>
AuthorDate: Mon Mar 23 22:40:52 2026 +0100

    CAMEL-23235: Propagate --java-version option to jbang run/debug commands
    
    When running camel run or camel debug with --java-version, the option was 
not propagated to the underlying jbang commands, causing failures.
---
 .../camel/dsl/jbang/core/commands/ExportBaseCommand.java     |  1 +
 .../java/org/apache/camel/dsl/jbang/core/commands/Run.java   | 12 ++++++++++++
 2 files changed, 13 insertions(+)

diff --git 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
index a45d4b79b088..72f2b6206e10 100644
--- 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
+++ 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
@@ -466,6 +466,7 @@ public abstract class ExportBaseCommand extends 
CamelCommand {
         run.quarkusGroupId = quarkusGroupId;
         run.springBootVersion = springBootVersion;
         run.kameletsVersion = kameletsVersion;
+        run.javaVersion = javaVersion;
         run.localKameletDir = localKameletDir;
         run.ignoreLoadingError = ignoreLoadingError;
         run.lazyBean = lazyBean;
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 3c8a946ccb99..653b99ea8541 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
@@ -44,6 +44,7 @@ import org.apache.camel.catalog.CamelCatalog;
 import org.apache.camel.catalog.DefaultCamelCatalog;
 import org.apache.camel.dsl.jbang.core.common.CommandLineHelper;
 import org.apache.camel.dsl.jbang.core.common.EnvironmentHelper;
+import org.apache.camel.dsl.jbang.core.common.JavaVersionCompletionCandidates;
 import org.apache.camel.dsl.jbang.core.common.LauncherHelper;
 import org.apache.camel.dsl.jbang.core.common.LoggingLevelCompletionCandidates;
 import org.apache.camel.dsl.jbang.core.common.Plugin;
@@ -169,6 +170,10 @@ public class Run extends CamelCommand {
     @Option(names = { "--empty" }, defaultValue = "false", description = "Run 
an empty Camel without loading source files")
     public boolean empty;
 
+    @CommandLine.Option(names = { "--java-version" }, completionCandidates = 
JavaVersionCompletionCandidates.class,
+                        description = "Java version 
(${COMPLETION-CANDIDATES})", defaultValue = "21")
+    protected String javaVersion = "21";
+
     @Option(names = { "--camel-version" }, description = "To run using a 
different Camel version than the default version.")
     String camelVersion;
 
@@ -632,6 +637,7 @@ public class Run extends CamelCommand {
         writeSetting(main, profileProperties, QUARKUS_VERSION, quarkusVersion);
         writeSetting(main, profileProperties, QUARKUS_GROUP_ID, 
quarkusGroupId);
         writeSetting(main, profileProperties, QUARKUS_ARTIFACT_ID, 
quarkusArtifactId);
+        writeSetting(main, profileProperties, JAVA_VERSION, javaVersion);
 
         // command line arguments
         if (property != null) {
@@ -1104,6 +1110,7 @@ public class Run extends CamelCommand {
         eq.quarkusGroupId = 
PropertyResolver.fromSystemProperty(QUARKUS_GROUP_ID, () -> 
this.quarkusGroupId);
         eq.quarkusArtifactId = 
PropertyResolver.fromSystemProperty(QUARKUS_ARTIFACT_ID, () -> 
this.quarkusArtifactId);
         eq.camelVersion = this.camelVersion;
+        eq.javaVersion = this.javaVersion;
         eq.kameletsVersion = this.kameletsVersion;
         eq.exportDir = runDirPath.toString();
         eq.localKameletDir = this.localKameletDir;
@@ -1211,6 +1218,7 @@ public class Run extends CamelCommand {
         eq.camelVersion = this.camelVersion;
         eq.camelSpringBootVersion = 
PropertyResolver.fromSystemProperty(CAMEL_SPRING_BOOT_VERSION,
                 () -> this.camelSpringBootVersion != null ? 
this.camelSpringBootVersion : this.camelVersion);
+        eq.javaVersion = this.javaVersion;
         eq.kameletsVersion = this.kameletsVersion;
         eq.exportDir = runDirPath.toString();
         eq.localKameletDir = this.localKameletDir;
@@ -1392,6 +1400,7 @@ public class Run extends CamelCommand {
             camelVersion = answer.getProperty(CAMEL_VERSION, camelVersion);
             kameletsVersion = answer.getProperty(KAMELETS_VERSION, 
kameletsVersion);
             springBootVersion = answer.getProperty(SPRING_BOOT_VERSION, 
springBootVersion);
+            javaVersion = answer.getProperty(JAVA_VERSION, javaVersion);
             quarkusGroupId = answer.getProperty(QUARKUS_GROUP_ID, 
quarkusGroupId);
             quarkusArtifactId = answer.getProperty(QUARKUS_ARTIFACT_ID, 
quarkusArtifactId);
             quarkusVersion = answer.getProperty(QUARKUS_VERSION, 
quarkusVersion);
@@ -1474,6 +1483,9 @@ public class Run extends CamelCommand {
             cmds.removeIf(arg -> arg.startsWith("--jvm-debug"));
         }
 
+        if (javaVersion != null) {
+            jbangArgs.add("--java-version=" + javaVersion);
+        }
         if (repositories != null) {
             jbangArgs.add("--repos=" + repositories);
         }

Reply via email to