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 <claus.ib...@gmail.com> 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 = """