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
commit 2721c683e989ad51175dc87928f342223de216e1 Author: Claus Ibsen <claus.ib...@gmail.com> AuthorDate: Sun Feb 12 16:09:50 2023 +0100 CAMEL-19030: camel-jbang - doc and catalog to support --runtime and fix loading quarkus catalog --- .../jbang/core/commands/catalog/CatalogBaseCommand.java | 17 +++++++++++++++-- .../dsl/jbang/core/commands/catalog/CatalogDoc.java | 13 +++++++++++-- .../camel/dsl/jbang/core/common/CatalogLoader.java | 8 ++++++++ 3 files changed, 34 insertions(+), 4 deletions(-) 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 727d2c0cb57..944fe71a5ad 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 @@ -41,6 +41,13 @@ public abstract class CatalogBaseCommand extends CamelCommand { description = "To run using a different Camel version than the default version.") String camelVersion; + @CommandLine.Option(names = { "--runtime" }, description = "Runtime (spring-boot, quarkus, or camel-main)") + String runtime; + + @CommandLine.Option(names = { "--quarkus-version" }, description = "Quarkus Platform version", + defaultValue = "2.16.0.Final") + String quarkusVersion; + @CommandLine.Option(names = { "--repos" }, description = "Additional maven repositories for download on-demand (Use commas to separate multiple repositories)") String repos; @@ -78,11 +85,17 @@ public abstract class CatalogBaseCommand extends CamelCommand { } CamelCatalog loadCatalog() throws Exception { + // silent logging when download catalogs + RuntimeUtil.configureLog("off", false, false, false, false); + + if ("spring-boot".equals(runtime)) { + return CatalogLoader.loadSpringBootCatalog(repos, camelVersion); + } else if ("quarkus".equals(runtime)) { + return CatalogLoader.loadQuarkusCatalog(repos, quarkusVersion); + } if (camelVersion == null) { return new DefaultCamelCatalog(true); } else { - // silent logging when download catalogs - RuntimeUtil.configureLog("off", false, false, false, false); return CatalogLoader.loadCatalog(repos, camelVersion); } } 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 0fdf309abc9..57fefd6421a 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 @@ -57,6 +57,9 @@ public class CatalogDoc extends CamelCommand { description = "To run using a different Camel version than the default version.") String camelVersion; + @CommandLine.Option(names = { "--runtime" }, description = "Runtime (spring-boot, quarkus, or camel-main)") + String runtime; + @CommandLine.Option(names = { "--repos" }, description = "Additional maven repositories for download on-demand (Use commas to separate multiple repositories)") String repos; @@ -90,11 +93,17 @@ public class CatalogDoc extends CamelCommand { } CamelCatalog loadCatalog() throws Exception { + // silent logging when download catalogs + RuntimeUtil.configureLog("off", false, false, false, false); + + if ("spring-boot".equals(runtime)) { + return CatalogLoader.loadSpringBootCatalog(repos, camelVersion); + } else if ("quarkus".equals(runtime)) { + return CatalogLoader.loadQuarkusCatalog(repos, camelVersion); + } if (camelVersion == null) { return new DefaultCamelCatalog(true); } else { - // silent logging when download catalogs - RuntimeUtil.configureLog("off", false, false, false, false); return CatalogLoader.loadCatalog(repos, camelVersion); } } 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 2403073df81..e29672496d5 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 @@ -141,6 +141,14 @@ public final class CatalogLoader { String camelQuarkusVersion = null; CamelCatalog answer = new DefaultCamelCatalog(true); + // quarkus version must end with .Final + if (quarkusVersion == null) { + return answer; + } + if (!quarkusVersion.endsWith(".Final")) { + quarkusVersion += ".Final"; + } + // use kamelet-main to dynamic download dependency via maven KameletMain main = new KameletMain(); try {