This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch camel-3.x
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 0bfa9238cc1a7fde4aa6a2204304e9485d6869af
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 {

Reply via email to