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 <mrinalsha...@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 <essob...@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 <essob...@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; + } + }