You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2022/11/22 08:27:21 UTC

[camel] branch main updated: Fixed Camel 18719 : camel-jbang - Adding the dependency of camel-quarkus-core creates two entries in exported POM.xml (#8749)

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 683e697689b Fixed Camel 18719 : camel-jbang - Adding the dependency of camel-quarkus-core creates two entries in exported POM.xml (#8749)
683e697689b is described below

commit 683e697689baa24983e71f197181f93887be274c
Author: Mrinal Sharma <mr...@users.noreply.github.com>
AuthorDate: Tue Nov 22 03:27:13 2022 -0500

    Fixed Camel 18719 : camel-jbang - Adding the dependency of camel-quarkus-core creates two entries in exported POM.xml (#8749)
    
    * Fixed CAMEL-18719
    
    * Update dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/RuntimeUtil.java
    
    Co-authored-by: Nicolas Filotto <es...@users.noreply.github.com>
    
    * Incorporated review comments
    
    * Incorporated more comments
    
    * In case application.properties is missing, getDependencies will throw NPE. With the fix, NPE will not be thrown
    
    Co-authored-by: Nicolas Filotto <es...@users.noreply.github.com>
---
 .../dsl/jbang/core/commands/ExportBaseCommand.java     |  4 ++--
 .../camel/dsl/jbang/core/commands/ExportQuarkus.java   |  5 +++++
 .../org/apache/camel/dsl/jbang/core/commands/Run.java  | 18 +++++++++---------
 .../camel/dsl/jbang/core/common/RuntimeUtil.java       | 16 ++++++++++++++++
 4 files changed, 32 insertions(+), 11 deletions(-)

diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
index 592079b57bc..8219f6438a3 100644
--- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
+++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
@@ -265,8 +265,8 @@ abstract class ExportBaseCommand extends CamelCommand {
         if (profile != null && profile.exists()) {
             Properties prop = new CamelCaseOrderedProperties();
             RuntimeUtil.loadProperties(prop, profile);
-            String deps = prop.getProperty("camel.jbang.dependencies");
-            if (deps != null) {
+            String deps = RuntimeUtil.getDependencies(prop);
+            if (!deps.isBlank()) {
                 for (String d : deps.split(",")) {
                     answer.add(d.trim());
                 }
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 c3941c6822d..a8cf18110dc 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
@@ -354,6 +354,11 @@ class ExportQuarkus extends Export {
 
         StringBuilder sb = new StringBuilder();
         for (MavenGav gav : gavs) {
+            //Special case, quarkus-pom.tmpl already have them included.
+            if ("camel-quarkus-core".equals(gav.getArtifactId()) || "camel-quarkus-platform-http".equals(gav.getArtifactId())
+                    || "camel-quarkus-microprofile-health".equals(gav.getArtifactId())) {
+                continue;
+            }
             sb.append("        <dependency>\n");
             sb.append("            <groupId>").append(gav.getGroupId()).append("</groupId>\n");
             sb.append("            <artifactId>").append(gav.getArtifactId()).append("</artifactId>\n");
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 af75380840e..d0125ec5ef6 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
@@ -342,15 +342,15 @@ class Run extends CamelCommand {
         writeSetting(main, profileProperties, "camel.jbang.console", console ? "true" : "false");
         writeSetting(main, profileProperties, "camel.main.routesCompileDirectory", WORK_DIR);
         // merge existing dependencies with --deps
-        String dep = profileProperties != null ? profileProperties.getProperty("camel.jbang.dependencies") : null;
-        if (dep == null) {
-            dep = dependencies;
-        } else if (dependencies != null && !dependencies.equals(dep)) {
-            dep += "," + dependencies;
-        }
-        if (dep != null) {
-            main.addInitialProperty("camel.jbang.dependencies", dep);
-            writeSettings("camel.jbang.dependencies", dep);
+        String deps = RuntimeUtil.getDependencies(profileProperties);
+        if (deps.isBlank()) {
+            deps = dependencies != null ? dependencies : "";
+        } else if (dependencies != null && !dependencies.equals(deps)) {
+            deps += "," + dependencies;
+        }
+        if (!deps.isBlank()) {
+            main.addInitialProperty("camel.jbang.dependencies", deps);
+            writeSettings("camel.jbang.dependencies", deps);
         }
 
         // command line arguments
diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/RuntimeUtil.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/RuntimeUtil.java
index d496de8a0e0..edd832c98f8 100644
--- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/RuntimeUtil.java
+++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/RuntimeUtil.java
@@ -83,4 +83,20 @@ public final class RuntimeUtil {
         }
     }
 
+    public static String getDependencies(Properties properties) {
+        String deps = properties != null ? properties.getProperty("camel.jbang.dependencies") : null;
+        if (deps != null) {
+            deps = deps.trim();
+            if (deps.length() > 0 && deps.charAt(0) == ',') {
+                deps = deps.substring(1);
+            }
+            if (deps.length() > 0 && deps.charAt(deps.length() - 1) == ',') {
+                deps = deps.substring(0, deps.lastIndexOf(","));
+            }
+        } else {
+            deps = "";
+        }
+        return deps;
+    }
+
 }