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

davsclaus pushed a commit to branch camel-4.18.x
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/camel-4.18.x by this push:
     new 5a553d317494 CAMEL-23931: Fix -Dcamel.jbang.quarkus.platform.url 
system property ignored in export
5a553d317494 is described below

commit 5a553d317494039f0a5ef58f88e8cb2ae4727791
Author: Jomin Mathew <[email protected]>
AuthorDate: Mon Aug 3 07:55:57 2026 +0100

    CAMEL-23931: Fix -Dcamel.jbang.quarkus.platform.url system property ignored 
in export
    
    The quarkusPlatformUrl system property was ignored when exporting with 
--runtime quarkus.
    A regression from CAMEL-23828 added a guard that skipped registry 
resolution when an
    explicit version was provided, but this also prevented resolution when a 
custom platform
    URL was configured. Now allows registry resolution when quarkusPlatformUrl 
is set, even
    if quarkusVersion is already present.
    
    Closes #25282
---
 .../org/apache/camel/dsl/jbang/core/commands/Export.java  |  6 ++++++
 .../camel/dsl/jbang/core/commands/ExportBaseCommand.java  |  2 ++
 .../camel/dsl/jbang/core/commands/ExportQuarkus.java      | 11 +++++++----
 .../apache/camel/dsl/jbang/core/common/QuarkusHelper.java | 15 +++++++++------
 4 files changed, 24 insertions(+), 10 deletions(-)

diff --git 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Export.java
 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Export.java
index 6c612077c3e9..f625d6acc3ed 100644
--- 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Export.java
+++ 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Export.java
@@ -28,6 +28,7 @@ import java.util.Properties;
 
 import org.apache.camel.dsl.jbang.core.common.CamelJBangConstants;
 import org.apache.camel.dsl.jbang.core.common.PropertyResolver;
+import org.apache.camel.dsl.jbang.core.common.QuarkusHelper;
 import org.apache.camel.dsl.jbang.core.common.RuntimeType;
 import org.apache.camel.dsl.jbang.core.common.RuntimeUtil;
 import org.apache.camel.dsl.jbang.core.common.SourceScheme;
@@ -182,6 +183,8 @@ public class Export extends ExportBaseCommand {
             this.quarkusGroupId = props.getProperty(QUARKUS_GROUP_ID, 
this.quarkusGroupId);
             this.quarkusArtifactId = props.getProperty(QUARKUS_ARTIFACT_ID, 
this.quarkusArtifactId);
             this.quarkusVersion = props.getProperty(QUARKUS_VERSION, 
this.quarkusVersion);
+            this.quarkusPlatformUrl = props.getProperty(
+                    QuarkusHelper.QUARKUS_PLATFORM_URL_PROPERTY, 
this.quarkusPlatformUrl);
             this.camelSpringBootVersion = 
props.getProperty(CAMEL_SPRING_BOOT_VERSION, this.camelSpringBootVersion);
             this.springBootVersion = props.getProperty(SPRING_BOOT_VERSION, 
this.springBootVersion);
             this.mavenWrapper
@@ -209,6 +212,8 @@ public class Export extends ExportBaseCommand {
         this.quarkusGroupId = 
PropertyResolver.fromSystemProperty(QUARKUS_GROUP_ID, () -> 
this.quarkusGroupId);
         this.quarkusArtifactId = 
PropertyResolver.fromSystemProperty(QUARKUS_ARTIFACT_ID, () -> 
this.quarkusArtifactId);
         this.quarkusVersion = 
PropertyResolver.fromSystemProperty(QUARKUS_VERSION, () -> this.quarkusVersion);
+        this.quarkusPlatformUrl = PropertyResolver.fromSystemProperty(
+                QuarkusHelper.QUARKUS_PLATFORM_URL_PROPERTY, () -> 
this.quarkusPlatformUrl);
         this.camelSpringBootVersion
                 = 
PropertyResolver.fromSystemProperty(CAMEL_SPRING_BOOT_VERSION, () -> 
this.camelSpringBootVersion);
     }
@@ -247,6 +252,7 @@ public class Export extends ExportBaseCommand {
         cmd.quarkusGroupId = this.quarkusGroupId;
         cmd.quarkusArtifactId = this.quarkusArtifactId;
         cmd.quarkusVersion = this.quarkusVersion;
+        cmd.quarkusPlatformUrl = this.quarkusPlatformUrl;
         cmd.quarkusPackageType = this.quarkusPackageType;
         cmd.springBootVersion = this.springBootVersion;
         cmd.mavenWrapper = this.mavenWrapper;
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 6bf4907d1cc0..fbd1cee1136c 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
@@ -201,6 +201,8 @@ public abstract class ExportBaseCommand extends 
CamelCommand {
                                       + " (when --download=true), otherwise 
defaults to " + RuntimeType.QUARKUS_VERSION)
     protected String quarkusVersion;
 
+    protected String quarkusPlatformUrl;
+
     @CommandLine.Option(names = { "--quarkus-package-type" },
                         description = "Quarkus package type (uber-jar or 
fast-jar)",
                         defaultValue = "fast-jar")
diff --git 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportQuarkus.java
 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportQuarkus.java
index 954f29ca4d30..618850319d28 100644
--- 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportQuarkus.java
+++ 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportQuarkus.java
@@ -74,11 +74,14 @@ class ExportQuarkus extends Export {
         exportBaseDir = exportBaseDir != null ? exportBaseDir : Path.of(".");
         Path profile = exportBaseDir.resolve("application.properties");
 
-        // resolve Quarkus platform version from registry (only when no 
explicit version was provided)
-        if (quarkusVersion == null) {
-            quarkusVersion = RuntimeType.QUARKUS_VERSION;
+        // resolve Quarkus platform version from registry (only when no 
explicit version was provided,
+        // or when a custom platform URL is configured — indicating the user 
wants registry resolution)
+        if (quarkusVersion == null || quarkusPlatformUrl != null) {
+            if (quarkusVersion == null) {
+                quarkusVersion = RuntimeType.QUARKUS_VERSION;
+            }
             if (download) {
-                String resolved = 
QuarkusHelper.resolveQuarkusPlatformVersion(quarkusVersion);
+                String resolved = 
QuarkusHelper.resolveQuarkusPlatformVersion(quarkusVersion, quarkusPlatformUrl);
                 if (resolved != null) {
                     quarkusVersion = resolved;
                 }
diff --git 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/QuarkusHelper.java
 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/QuarkusHelper.java
index a1fb72c61bc5..73061a258831 100644
--- 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/QuarkusHelper.java
+++ 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/QuarkusHelper.java
@@ -51,7 +51,10 @@ public final class QuarkusHelper {
      * Returns the Quarkus platform registry URL, honoring the system property 
{@value #QUARKUS_PLATFORM_URL_PROPERTY}
      * if set.
      */
-    public static String getQuarkusPlatformUrl() {
+    public static String getQuarkusPlatformUrl(String userSuppliedUrl) {
+        if (userSuppliedUrl != null) {
+            return userSuppliedUrl;
+        }
         return System.getProperty(QUARKUS_PLATFORM_URL_PROPERTY, 
DEFAULT_QUARKUS_PLATFORM_URL);
     }
 
@@ -68,7 +71,7 @@ public final class QuarkusHelper {
             Function<T, String> runtimeVersionFunc,
             BiConsumer<T, String> quarkusVersionSetter) {
 
-        JsonArray streams = fetchPlatformStreams();
+        JsonArray streams = fetchPlatformStreams(null);
         if (streams == null) {
             return;
         }
@@ -100,12 +103,12 @@ public final class QuarkusHelper {
      * @return                  the resolved platform BOM version from the 
registry, or the original buildTimeVersion if
      *                          resolution fails
      */
-    public static String resolveQuarkusPlatformVersion(String 
buildTimeVersion) {
+    public static String resolveQuarkusPlatformVersion(String 
buildTimeVersion, String platformUrl) {
         if (buildTimeVersion == null) {
             return null;
         }
 
-        JsonArray streams = fetchPlatformStreams();
+        JsonArray streams = fetchPlatformStreams(platformUrl);
         if (streams == null) {
             return buildTimeVersion;
         }
@@ -120,11 +123,11 @@ public final class QuarkusHelper {
      *
      * @return the streams JsonArray, or null if the registry is unreachable 
or the response is invalid
      */
-    private static JsonArray fetchPlatformStreams() {
+    private static JsonArray fetchPlatformStreams(String platformUrl) {
         try {
             HttpClient hc = HttpClient.newHttpClient();
             HttpResponse<String> res = hc.send(
-                    HttpRequest.newBuilder(new URI(getQuarkusPlatformUrl()))
+                    HttpRequest.newBuilder(new 
URI(getQuarkusPlatformUrl(platformUrl)))
                             .timeout(Duration.ofSeconds(2))
                             .build(),
                     HttpResponse.BodyHandlers.ofString());

Reply via email to