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 bc5b7abf53a CAMEL-22165: camel-jbang dependency runtime (deep analysis to resolve from parent poms) bc5b7abf53a is described below commit bc5b7abf53aa297e6049f4c9f80b1cf0d4739419 Author: Claus Ibsen <claus.ib...@gmail.com> AuthorDate: Fri Jun 13 09:30:32 2025 +0200 CAMEL-22165: camel-jbang dependency runtime (deep analysis to resolve from parent poms) --- .../dsl/jbang/core/commands/DependencyRuntime.java | 55 +++++++++++++++------- .../dsl/jbang/core/commands/ExportQuarkus.java | 4 +- .../dsl/jbang/core/commands/ExportSpringBoot.java | 4 +- .../apache/camel/dsl/jbang/core/commands/Run.java | 4 +- .../camel/dsl/jbang/core/commands/RunHelper.java | 8 ++-- .../core/commands/catalog/CatalogBaseCommand.java | 10 ++-- .../jbang/core/commands/catalog/CatalogDoc.java | 10 ++-- .../camel/dsl/jbang/core/common/CatalogLoader.java | 46 ++++++++++++++++-- .../camel/dsl/jbang/core/common/RuntimeType.java | 10 +++- .../jbang/core/commands/DependencyRuntimeTest.java | 12 ++--- 10 files changed, 116 insertions(+), 47 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 787abb4ff12..a984fc89a6d 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 @@ -25,6 +25,7 @@ import java.util.StringJoiner; import org.apache.camel.catalog.CamelCatalog; import org.apache.camel.dsl.jbang.core.common.CatalogLoader; +import org.apache.camel.dsl.jbang.core.common.RuntimeType; import org.apache.camel.tooling.maven.MavenGav; import org.apache.camel.util.json.Jsoner; import org.apache.maven.model.Model; @@ -38,6 +39,14 @@ public class DependencyRuntime extends CamelCommand { @CommandLine.Parameters(description = "The pom.xml to analyze", arity = "1", paramLabel = "<pom.xml>") Path pomXml; + @CommandLine.Option(names = { "--repos" }, + description = "Additional maven repositories (Use commas to separate multiple repositories)") + String repositories; + + @CommandLine.Option(names = { "--download" }, defaultValue = "true", + description = "Whether to allow automatic downloading JAR dependencies (over the internet)") + boolean download = true; + @CommandLine.Option(names = { "--json" }, description = "Output in JSON Format") boolean jsonOutput; @@ -94,35 +103,29 @@ public class DependencyRuntime extends CamelCommand { } if (springBootVersion != null && camelVersion == null) { - StringJoiner sj = new StringJoiner(","); - for (Repository r : model.getRepositories()) { - sj.add(r.getUrl()); - } - String repos = sj.length() > 0 ? sj.toString() : null; - camelVersion = CatalogLoader.resolveCamelVersionFromSpringBoot(repos, camelSpringBootVersion); + camelVersion = CatalogLoader.resolveCamelVersionFromSpringBoot(mavenRepos(model, repositories), + camelSpringBootVersion, download); + } + if (springBootVersion == null && camelSpringBootVersion != null) { + springBootVersion = CatalogLoader.resolveSpringBootVersionFromCamelSpringBoot(mavenRepos(model, repositories), + camelSpringBootVersion, download); } - - // its a bit harder to know the camel version from Quarkus because of the universal BOM if (quarkusVersion != null && camelVersion == null) { - StringJoiner sj = new StringJoiner(","); - for (Repository r : model.getRepositories()) { - sj.add(r.getUrl()); - } - String repos = sj.length() > 0 ? sj.toString() : null; - CamelCatalog catalog = CatalogLoader.loadQuarkusCatalog(repos, quarkusVersion, quarkusGroupId); + String repos = mavenRepos(model, repositories); + CamelCatalog catalog = CatalogLoader.loadQuarkusCatalog(repos, quarkusVersion, quarkusGroupId, 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(); // okay so the camel version is also hard to resolve from quarkus - camelVersion = CatalogLoader.resolveCamelVersionFromQuarkus(repos, camelQuarkusVersion); + camelVersion = CatalogLoader.resolveCamelVersionFromQuarkus(repos, camelQuarkusVersion, download); } } - String runtime = "camel-main"; + String runtime = RuntimeType.main.runtime(); if (springBootVersion != null) { - runtime = "camel-spring-boot"; + runtime = RuntimeType.springBoot.runtime(); } else if (quarkusVersion != null) { - runtime = "camel-quarkus"; + runtime = RuntimeType.quarkus.runtime(); } if (jsonOutput) { @@ -167,4 +170,20 @@ public class DependencyRuntime extends CamelCommand { return 0; } + + private static String mavenRepos(Model model, String repositories) { + StringJoiner sj = new StringJoiner(","); + for (Repository r : model.getRepositories()) { + sj.add(r.getUrl()); + } + String answer = sj.length() > 0 ? sj.toString() : null; + if (repositories != null) { + if (answer == null) { + answer = repositories; + } else { + answer += "," + repositories; + } + } + return answer; + } } 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 032852b1137..d0bb9809f7b 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 @@ -267,7 +267,7 @@ class ExportQuarkus extends Export { // quarkus controls the camel version String repos = getMavenRepositories(settings, prop, quarkusVersion); - CamelCatalog catalog = CatalogLoader.loadQuarkusCatalog(repos, quarkusVersion, quarkusGroupId); + CamelCatalog catalog = CatalogLoader.loadQuarkusCatalog(repos, quarkusVersion, quarkusGroupId, download); if (camelVersion == null) { camelVersion = catalog.getCatalogVersion(); } @@ -424,7 +424,7 @@ class ExportQuarkus extends Export { // quarkus controls the camel version String repos = getMavenRepositories(settings, prop, quarkusVersion); - CamelCatalog catalog = CatalogLoader.loadQuarkusCatalog(repos, quarkusVersion, quarkusGroupId); + CamelCatalog catalog = CatalogLoader.loadQuarkusCatalog(repos, quarkusVersion, quarkusGroupId, download); if (camelVersion == null) { camelVersion = catalog.getCatalogVersion(); } diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportSpringBoot.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportSpringBoot.java index b0ed8d05c2e..cfe892e6d9a 100644 --- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportSpringBoot.java +++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportSpringBoot.java @@ -175,7 +175,7 @@ class ExportSpringBoot extends Export { RuntimeUtil.loadProperties(prop, settings); String repos = getMavenRepositories(settings, prop, camelSpringBootVersion); - CamelCatalog catalog = CatalogLoader.loadSpringBootCatalog(repos, camelSpringBootVersion); + CamelCatalog catalog = CatalogLoader.loadSpringBootCatalog(repos, camelSpringBootVersion, download); if (ObjectHelper.isEmpty(camelVersion)) { camelVersion = catalog.getLoadedVersion(); } @@ -279,7 +279,7 @@ class ExportSpringBoot extends Export { RuntimeUtil.loadProperties(prop, settings); String repos = getMavenRepositories(settings, prop, camelSpringBootVersion); - CamelCatalog catalog = CatalogLoader.loadSpringBootCatalog(repos, camelSpringBootVersion); + CamelCatalog catalog = CatalogLoader.loadSpringBootCatalog(repos, camelSpringBootVersion, download); String camelVersion = catalog.getLoadedVersion(); context = context.replaceFirst("\\{\\{ \\.GroupId }}", ids[0]); 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 1787954d53b..3afb54e21e2 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 @@ -572,7 +572,7 @@ public class Run extends CamelCommand { final KameletMain main = createMainInstance(); main.setProfile(profile); if (repositories != null && !repositories.isBlank()) { - main.setRepositories(String.join(",", repositories)); + main.setRepositories(repositories); } main.setDownload(download); main.setPackageScanJars(packageScanJars); @@ -637,7 +637,7 @@ public class Run extends CamelCommand { } writeSetting(main, profileProperties, "camel.jbang.open-api", openapi); if (repositories != null) { - writeSetting(main, profileProperties, "camel.jbang.repos", String.join(",", repositories)); + writeSetting(main, profileProperties, "camel.jbang.repos", repositories); } writeSetting(main, profileProperties, "camel.jbang.health", health ? "true" : "false"); writeSetting(main, profileProperties, "camel.jbang.metrics", metrics ? "true" : "false"); 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 8f5e2607ff6..42cc2f57652 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 @@ -106,16 +106,14 @@ public final class RunHelper { String a = resolveDependencyPlaceholder(d.getArtifactId(), pomPath, downloader); String v = resolveDependencyPlaceholder(d.getVersion(), pomPath, downloader); if (v != null) { - if ("org.apache.camel".equals(g) && "camel-bom".equals(a)) { + if ("camel-bom".equals(a)) { camelVersion = v; - } else if ("org.apache.camel.springboot".equals(g) - && "camel-spring-boot-bom".equals(a)) { + } else if ("camel-spring-boot-bom".equals(a)) { camelSpringBootVersion = v; } else if ("org.springframework.boot".equals(g) && "spring-boot-dependencies".equals(a)) { springBootVersion = v; - } else if ("io.quarkus.platform".equals(g) - && "quarkus-bom".equals(a)) { + } else if ("quarkus-bom".equals(a)) { quarkusVersion = v; } String gav = "mvn:" + g + ":" + a + ":" + v; diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogBaseCommand.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogBaseCommand.java index 7b7a7d18983..cb19c645567 100644 --- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogBaseCommand.java +++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogBaseCommand.java @@ -52,6 +52,10 @@ public abstract class CatalogBaseCommand extends CamelCommand { description = "Runtime (${COMPLETION-CANDIDATES})") RuntimeType runtime; + @CommandLine.Option(names = { "--download" }, defaultValue = "true", + description = "Whether to allow automatic downloading JAR dependencies (over the internet)") + boolean download = true; + @CommandLine.Option(names = { "--quarkus-version" }, description = "Quarkus Platform version", defaultValue = RuntimeType.QUARKUS_VERSION) String quarkusVersion; @@ -102,14 +106,14 @@ public abstract class CatalogBaseCommand extends CamelCommand { CamelCatalog loadCatalog() throws Exception { if (RuntimeType.springBoot == runtime) { - return CatalogLoader.loadSpringBootCatalog(repos, camelVersion); + return CatalogLoader.loadSpringBootCatalog(repos, camelVersion, download); } else if (RuntimeType.quarkus == runtime) { - return CatalogLoader.loadQuarkusCatalog(repos, quarkusVersion, quarkusGroupId); + return CatalogLoader.loadQuarkusCatalog(repos, quarkusVersion, quarkusGroupId, download); } if (camelVersion == null) { return new DefaultCamelCatalog(true); } else { - return CatalogLoader.loadCatalog(repos, camelVersion); + return CatalogLoader.loadCatalog(repos, camelVersion, download); } } diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogDoc.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogDoc.java index a643338b221..dc9f53347e1 100644 --- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogDoc.java +++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogDoc.java @@ -68,6 +68,10 @@ public class CatalogDoc extends CamelCommand { description = "Runtime (${COMPLETION-CANDIDATES})") RuntimeType runtime; + @CommandLine.Option(names = { "--download" }, defaultValue = "true", + description = "Whether to allow automatic downloading JAR dependencies (over the internet)") + boolean download = true; + @CommandLine.Option(names = { "--quarkus-version" }, description = "Quarkus Platform version", defaultValue = RuntimeType.QUARKUS_VERSION) String quarkusVersion; @@ -110,14 +114,14 @@ public class CatalogDoc extends CamelCommand { CamelCatalog loadCatalog() throws Exception { if (RuntimeType.springBoot == runtime) { - return CatalogLoader.loadSpringBootCatalog(repos, camelVersion); + return CatalogLoader.loadSpringBootCatalog(repos, camelVersion, download); } else if (RuntimeType.quarkus == runtime) { - return CatalogLoader.loadQuarkusCatalog(repos, quarkusVersion, quarkusGroupId); + return CatalogLoader.loadQuarkusCatalog(repos, quarkusVersion, quarkusGroupId, download); } if (camelVersion == null) { return new DefaultCamelCatalog(true); } else { - return CatalogLoader.loadCatalog(repos, camelVersion); + return CatalogLoader.loadCatalog(repos, camelVersion, download); } } diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/CatalogLoader.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/CatalogLoader.java index cd15e32aff0..ff1f1887fdf 100644 --- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/CatalogLoader.java +++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/CatalogLoader.java @@ -50,7 +50,7 @@ public final class CatalogLoader { private CatalogLoader() { } - public static CamelCatalog loadCatalog(String repos, String version) throws Exception { + public static CamelCatalog loadCatalog(String repos, String version, boolean download) throws Exception { CamelCatalog answer = new DefaultCamelCatalog(); if (version == null || version.isEmpty() || version.equals(answer.getCatalogVersion())) { answer.enableCache(); @@ -61,6 +61,7 @@ public final class CatalogLoader { MavenDependencyDownloader downloader = new MavenDependencyDownloader(); downloader.setClassLoader(cl); downloader.setRepositories(repos); + downloader.setDownload(download); try { downloader.start(); @@ -89,7 +90,7 @@ public final class CatalogLoader { return answer; } - public static CamelCatalog loadSpringBootCatalog(String repos, String version) throws Exception { + public static CamelCatalog loadSpringBootCatalog(String repos, String version, boolean download) throws Exception { CamelCatalog answer = new DefaultCamelCatalog(); if (version == null) { version = answer.getCatalogVersion(); @@ -99,6 +100,7 @@ public final class CatalogLoader { MavenDependencyDownloader downloader = new MavenDependencyDownloader(); downloader.setClassLoader(cl); downloader.setRepositories(repos); + downloader.setDownload(download); try { downloader.start(); @@ -146,7 +148,8 @@ public final class CatalogLoader { return answer; } - public static CamelCatalog loadQuarkusCatalog(String repos, String quarkusVersion, String quarkusGroupId) throws Exception { + public static CamelCatalog loadQuarkusCatalog(String repos, String quarkusVersion, String quarkusGroupId, boolean download) + throws Exception { String camelQuarkusVersion = null; CamelCatalog answer = new DefaultCamelCatalog(); @@ -163,6 +166,7 @@ public final class CatalogLoader { MavenDependencyDownloader downloader = new MavenDependencyDownloader(); downloader.setRepositories(repos); downloader.setClassLoader(cl); + downloader.setDownload(download); try { downloader.start(); @@ -224,11 +228,13 @@ public final class CatalogLoader { return answer; } - public static String resolveCamelVersionFromSpringBoot(String repos, String camelSpringBootVersion) throws Exception { + public static String resolveCamelVersionFromSpringBoot(String repos, String camelSpringBootVersion, boolean download) + throws Exception { DependencyDownloaderClassLoader cl = new DependencyDownloaderClassLoader(CatalogLoader.class.getClassLoader()); MavenDependencyDownloader downloader = new MavenDependencyDownloader(); downloader.setRepositories(repos); downloader.setClassLoader(cl); + downloader.setDownload(download); try { downloader.start(); @@ -249,11 +255,41 @@ public final class CatalogLoader { return null; } - public static String resolveCamelVersionFromQuarkus(String repos, String camelQuarkusVersion) throws Exception { + public static String resolveSpringBootVersionFromCamelSpringBoot( + String repos, String camelSpringBootVersion, boolean download) + throws Exception { DependencyDownloaderClassLoader cl = new DependencyDownloaderClassLoader(CatalogLoader.class.getClassLoader()); MavenDependencyDownloader downloader = new MavenDependencyDownloader(); downloader.setRepositories(repos); downloader.setClassLoader(cl); + downloader.setDownload(download); + try { + downloader.start(); + + List<MavenArtifact> artifacts + = downloader.downloadArtifacts("org.apache.camel.springboot", "camel-core-starter", camelSpringBootVersion, + true); + for (MavenArtifact ma : artifacts) { + String g = ma.getGav().getGroupId(); + String a = ma.getGav().getArtifactId(); + if ("org.springframework.boot".equals(g) && "spring-boot-starter".equals(a)) { + return ma.getGav().getVersion(); + } + } + } finally { + downloader.stop(); + } + + return null; + } + + public static String resolveCamelVersionFromQuarkus(String repos, String camelQuarkusVersion, boolean download) + throws Exception { + DependencyDownloaderClassLoader cl = new DependencyDownloaderClassLoader(CatalogLoader.class.getClassLoader()); + MavenDependencyDownloader downloader = new MavenDependencyDownloader(); + downloader.setRepositories(repos); + downloader.setClassLoader(cl); + downloader.setDownload(download); try { downloader.start(); diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/RuntimeType.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/RuntimeType.java index b63b62ef0f3..6f336cdbd5b 100644 --- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/RuntimeType.java +++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/RuntimeType.java @@ -16,6 +16,8 @@ */ package org.apache.camel.dsl.jbang.core.common; +import java.util.Locale; + import org.apache.camel.catalog.DefaultCamelCatalog; public enum RuntimeType { @@ -28,6 +30,7 @@ public enum RuntimeType { public static final String SPRING_BOOT_VERSION = "3.5.0"; public static RuntimeType fromValue(String value) { + value = value.toLowerCase(Locale.ROOT); return switch (value) { case "spring-boot", "camel-spring-boot" -> RuntimeType.springBoot; case "quarkus", "camel-quarkus" -> RuntimeType.quarkus; @@ -40,7 +43,7 @@ public enum RuntimeType { return switch (this) { case springBoot -> "spring-boot"; case quarkus -> "quarkus"; - case main -> "camel-main"; + case main -> "main"; }; } @@ -51,4 +54,9 @@ public enum RuntimeType { case main -> new DefaultCamelCatalog().getCatalogVersion(); }; } + + @Override + public String toString() { + return runtime(); + } } 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 e7997bbb81a..1556fe161a4 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 @@ -109,28 +109,28 @@ class DependencyRuntimeTest extends CamelCommandBaseTest { private static class TestArguments { static final String QUARKUS_POM = "pom-xml-files/quarkus-pom.xml"; static final String QUARKUS_POM_OUTPUT = """ - Runtime: camel-quarkus + Runtime: quarkus Camel Version: 4.11.0 Camel Quarkus Version: 3.23.0 Quarkus Version: 3.23.0"""; static final String QUARKUS_POM_JSON_OUTPUT - = "{\"runtime\":\"camel-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\",\"quarkusGroupId\":\"io.quarkus.platform\"}"; static final String SPRING_BOOT_POM = "pom-xml-files/springboot-pom.xml"; static final String SPRING_BOOT_POM_OUTPUT = """ - Runtime: camel-spring-boot + Runtime: spring-boot Camel Version: 4.12.0 Camel Spring Boot Version: 4.12.0 Spring Boot Version: 3.4.5"""; static final String SPRING_BOOT_POM_JSON_OUTPUT - = "{\"runtime\":\"camel-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\"}"; static final String MAIN_POM = "pom-xml-files/main-pom.xml"; static final String MAIN_POM_OUTPUT = """ - Runtime: camel-main + Runtime: main Camel Version: 4.12.0"""; static final String MAIN_POM_JSON_OUTPUT - = "{\"runtime\":\"camel-main\",\"camelVersion\":\"4.12.0\"}"; + = "{\"runtime\":\"main\",\"camelVersion\":\"4.12.0\"}"; } }