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());