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 b76fa0423f1 CAMEL-22165: camel-jbang dependency runtime (deep analysis
to resolve from parent poms)
b76fa0423f1 is described below
commit b76fa0423f1d40afc07386655195c8affd549ad9
Author: Claus Ibsen <[email protected]>
AuthorDate: Fri Jun 13 10:32:27 2025 +0200
CAMEL-22165: camel-jbang dependency runtime (deep analysis to resolve from
parent poms)
---
.../dsl/jbang/core/commands/DependencyRuntime.java | 43 ++++++++++++++++++----
.../camel/dsl/jbang/core/commands/RunHelper.java | 10 +++--
.../jbang/core/commands/DependencyRuntimeTest.java | 4 +-
3 files changed, 44 insertions(+), 13 deletions(-)
diff --git
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/DependencyRuntime.java
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/DependencyRuntime.java
index 2472ea213fe..a83333ee567 100644
---
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/DependencyRuntime.java
+++
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/DependencyRuntime.java
@@ -77,7 +77,12 @@ public class DependencyRuntime extends CamelCommand {
String camelQuarkusVersion = null;
String springBootVersion = null;
String quarkusVersion = null;
- String quarkusGroupId = null;
+ String quarkusBomGroupId = null;
+ String quarkusBomArtifactId = null;
+ String camelQuarkusBomGroupId = null;
+ String camelQuarkusBomArtifactId = null;
+ String camelSpringBootBomGroupId = null;
+ String camelSpringBootBomArtifactId = null;
for (String dep : deps) {
MavenGav gav = MavenGav.parseGav(dep);
@@ -96,23 +101,32 @@ public class DependencyRuntime extends CamelCommand {
if (quarkusVersion == null &&
"io.quarkus".equals(gav.getGroupId())) {
quarkusVersion = gav.getVersion();
}
- if (quarkusGroupId == null &&
"quarkus-bom".equals(gav.getArtifactId())) {
- quarkusGroupId = gav.getGroupId();
+ if (quarkusBomGroupId == null &&
"quarkus-bom".equals(gav.getArtifactId())) {
+ quarkusBomGroupId = gav.getGroupId();
+ quarkusBomArtifactId = gav.getArtifactId();
quarkusVersion = gav.getVersion();
}
+ if (camelQuarkusBomGroupId == null &&
"quarkus-camel-bom".equals(gav.getArtifactId())) {
+ camelQuarkusBomGroupId = gav.getGroupId();
+ camelQuarkusBomArtifactId = gav.getArtifactId();
+ }
+ if (camelSpringBootBomGroupId == null &&
"camel-spring-boot-bom".equals(gav.getArtifactId())) {
+ camelSpringBootBomGroupId = gav.getGroupId();
+ camelSpringBootBomArtifactId = gav.getArtifactId();
+ }
}
if (springBootVersion == null && camelSpringBootVersion != null) {
springBootVersion =
CatalogLoader.resolveSpringBootVersionFromCamelSpringBoot(mavenRepos(model,
repositories),
camelSpringBootVersion, download);
}
- if (springBootVersion != null && camelVersion == null) {
+ if (camelSpringBootVersion != null && camelVersion == null) {
camelVersion =
CatalogLoader.resolveCamelVersionFromSpringBoot(mavenRepos(model, repositories),
camelSpringBootVersion, download);
}
if (quarkusVersion != null && camelVersion == null) {
String repos = mavenRepos(model, repositories);
- CamelCatalog catalog = CatalogLoader.loadQuarkusCatalog(repos,
quarkusVersion, quarkusGroupId, download);
+ CamelCatalog catalog = CatalogLoader.loadQuarkusCatalog(repos,
quarkusVersion, quarkusBomGroupId, download);
if (catalog != null) {
// find out the camel quarkus version via the constant
language that are built-in camel-core
camelQuarkusVersion =
catalog.languageModel("constant").getVersion();
@@ -146,8 +160,23 @@ public class DependencyRuntime extends CamelCommand {
if (quarkusVersion != null) {
map.put("quarkusVersion", quarkusVersion);
}
- if (quarkusGroupId != null) {
- map.put("quarkusGroupId", quarkusGroupId);
+ if (camelSpringBootBomGroupId != null) {
+ map.put("camelSpringBootBomGroupId",
camelSpringBootBomGroupId);
+ }
+ if (camelSpringBootBomArtifactId != null) {
+ map.put("camelSpringBootBomArtifactId",
camelSpringBootBomArtifactId);
+ }
+ if (quarkusBomGroupId != null) {
+ map.put("quarkusBomGroupId", quarkusBomGroupId);
+ }
+ if (quarkusBomArtifactId != null) {
+ map.put("quarkusBomArtifactId", quarkusBomArtifactId);
+ }
+ if (camelQuarkusBomGroupId != null) {
+ map.put("camelQuarkusBomGroupId", camelQuarkusBomGroupId);
+ }
+ if (camelQuarkusBomArtifactId != null) {
+ map.put("camelQuarkusBomArtifactId",
camelQuarkusBomArtifactId);
}
printer().println(Jsoner.serialize(map));
} else {
diff --git
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/RunHelper.java
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/RunHelper.java
index 42cc2f57652..cfd8664634f 100644
---
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/RunHelper.java
+++
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/RunHelper.java
@@ -182,10 +182,12 @@ public final class RunHelper {
String p = model.getProperties().getProperty(placeholder);
if (p != null && p.startsWith("${") && p.endsWith("}")) {
p = p.substring(2, p.length() - 1);
- if ("project.version".equals(p)) {
- p = model.getVersion();
- } else {
- p = model.getProperties().getProperty(p);
+ p = model.getProperties().getProperty(p);
+ }
+ if ("project.version".equals(p) ||
"project.version".equals(placeholder)) {
+ p = model.getVersion();
+ if (p == null && model.getParent() != null) {
+ p = model.getParent().getVersion();
}
}
if (p != null) {
diff --git
a/dsl/camel-jbang/camel-jbang-core/src/test/java/org/apache/camel/dsl/jbang/core/commands/DependencyRuntimeTest.java
b/dsl/camel-jbang/camel-jbang-core/src/test/java/org/apache/camel/dsl/jbang/core/commands/DependencyRuntimeTest.java
index 1556fe161a4..7b5204cd876 100644
---
a/dsl/camel-jbang/camel-jbang-core/src/test/java/org/apache/camel/dsl/jbang/core/commands/DependencyRuntimeTest.java
+++
b/dsl/camel-jbang/camel-jbang-core/src/test/java/org/apache/camel/dsl/jbang/core/commands/DependencyRuntimeTest.java
@@ -114,7 +114,7 @@ class DependencyRuntimeTest extends CamelCommandBaseTest {
Camel Quarkus Version: 3.23.0
Quarkus Version: 3.23.0""";
static final String QUARKUS_POM_JSON_OUTPUT
- =
"{\"runtime\":\"quarkus\",\"camelVersion\":\"4.11.0\",\"camelQuarkusVersion\":\"3.23.0\",\"quarkusVersion\":\"3.23.0\",\"quarkusGroupId\":\"io.quarkus.platform\"}";
+ =
"{\"runtime\":\"quarkus\",\"camelVersion\":\"4.11.0\",\"camelQuarkusVersion\":\"3.23.0\",\"quarkusVersion\":\"3.23.0\",\"quarkusBomGroupId\":\"io.quarkus.platform\",\"quarkusBomArtifactId\":\"quarkus-bom\",\"camelQuarkusBomGroupId\":\"io.quarkus.platform\",\"camelQuarkusBomArtifactId\":\"quarkus-camel-bom\"}";
static final String SPRING_BOOT_POM =
"pom-xml-files/springboot-pom.xml";
static final String SPRING_BOOT_POM_OUTPUT = """
@@ -123,7 +123,7 @@ class DependencyRuntimeTest extends CamelCommandBaseTest {
Camel Spring Boot Version: 4.12.0
Spring Boot Version: 3.4.5""";
static final String SPRING_BOOT_POM_JSON_OUTPUT
- =
"{\"runtime\":\"spring-boot\",\"camelVersion\":\"4.12.0\",\"camelSpringBootVersion\":\"4.12.0\",\"springBootVersion\":\"3.4.5\"}";
+ =
"{\"runtime\":\"spring-boot\",\"camelVersion\":\"4.12.0\",\"camelSpringBootVersion\":\"4.12.0\",\"springBootVersion\":\"3.4.5\",\"camelSpringBootBomGroupId\":\"org.apache.camel.springboot\",\"camelSpringBootBomArtifactId\":\"camel-spring-boot-bom\"}";
static final String MAIN_POM = "pom-xml-files/main-pom.xml";
static final String MAIN_POM_OUTPUT = """