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 954606babb3 camel-jbang - Custom dependencies defined in 
appliction.properties is now included in export pom.xml
954606babb3 is described below

commit 954606babb3eea7fc90474f4af4683e8a6c3203b
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Thu Jun 16 15:02:31 2022 +0200

    camel-jbang - Custom dependencies defined in appliction.properties is now 
included in export pom.xml
---
 .../apache/camel/dsl/jbang/core/commands/BaseExport.java   | 14 +++++++++++++-
 .../camel/dsl/jbang/core/commands/ExportCamelMain.java     |  6 +++---
 .../camel/dsl/jbang/core/commands/ExportQuarkus.java       |  6 +++---
 .../camel/dsl/jbang/core/commands/ExportSpringBoot.java    |  6 +++---
 4 files changed, 22 insertions(+), 10 deletions(-)

diff --git 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/BaseExport.java
 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/BaseExport.java
index 152970d3e2d..e255589cea2 100644
--- 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/BaseExport.java
+++ 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/BaseExport.java
@@ -110,7 +110,7 @@ abstract class BaseExport extends CamelCommand {
         return code;
     }
 
-    protected Set<String> resolveDependencies(File settings) throws Exception {
+    protected Set<String> resolveDependencies(File settings, File profile) 
throws Exception {
         Set<String> answer = new TreeSet<>((o1, o2) -> {
             // favour org.apache.camel first
             boolean c1 = o1.contains("org.apache.camel:");
@@ -141,6 +141,18 @@ abstract class BaseExport extends CamelCommand {
             }
         }
 
+        // include custom dependencies defined in profile
+        if (profile != null && profile.exists()) {
+            OrderedProperties prop = new OrderedProperties();
+            prop.load(new FileInputStream(profile));
+            String deps = prop.getProperty("camel.jbang.dependencies");
+            if (deps != null) {
+                for (String d : deps.split(",")) {
+                    answer.add(d.trim());
+                }
+            }
+        }
+
         // remove duplicate versions (keep first)
         Map<String, String> versions = new HashMap<>();
         Set<String> toBeRemoved = new HashSet<>();
diff --git 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportCamelMain.java
 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportCamelMain.java
index 42097d1c3a1..3a512e10e36 100644
--- 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportCamelMain.java
+++ 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportCamelMain.java
@@ -92,7 +92,7 @@ class ExportCamelMain extends BaseExport {
         // create main class
         createMainClassSource(srcJavaDir, packageName, mainClassname);
         // gather dependencies
-        Set<String> deps = resolveDependencies(settings);
+        Set<String> deps = resolveDependencies(settings, profile);
         // create pom
         createPom(settings, new File(BUILD_DIR, "pom.xml"), deps, packageName);
 
@@ -173,8 +173,8 @@ class ExportCamelMain extends BaseExport {
     }
 
     @Override
-    protected Set<String> resolveDependencies(File settings) throws Exception {
-        Set<String> answer = super.resolveDependencies(settings);
+    protected Set<String> resolveDependencies(File settings, File profile) 
throws Exception {
+        Set<String> answer = super.resolveDependencies(settings, profile);
 
         // remove out of the box dependencies
         answer.removeIf(s -> s.contains("camel-core"));
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 5f501fc9da0..86562143672 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
@@ -88,7 +88,7 @@ class ExportQuarkus extends BaseExport {
         // copy docker files
         copyDockerFiles();
         // gather dependencies
-        Set<String> deps = resolveDependencies(settings);
+        Set<String> deps = resolveDependencies(settings, profile);
         // create pom
         createPom(settings, new File(BUILD_DIR, "pom.xml"), deps);
 
@@ -182,8 +182,8 @@ class ExportQuarkus extends BaseExport {
     }
 
     @Override
-    protected Set<String> resolveDependencies(File settings) throws Exception {
-        Set<String> answer = super.resolveDependencies(settings);
+    protected Set<String> resolveDependencies(File settings, File profile) 
throws Exception {
+        Set<String> answer = super.resolveDependencies(settings, profile);
 
         answer.removeIf(s -> s.contains("camel-core"));
         answer.removeIf(s -> s.contains("camel-platform-http"));
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 b2ce308d964..d0c0de1d16a 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
@@ -92,7 +92,7 @@ class ExportSpringBoot extends BaseExport {
         // create main class
         createMainClassSource(srcJavaDir, packageName, mainClassname);
         // gather dependencies
-        Set<String> deps = resolveDependencies(settings);
+        Set<String> deps = resolveDependencies(settings, profile);
         // create pom
         createPom(settings, new File(BUILD_DIR, "pom.xml"), deps);
 
@@ -176,8 +176,8 @@ class ExportSpringBoot extends BaseExport {
     }
 
     @Override
-    protected Set<String> resolveDependencies(File settings) throws Exception {
-        Set<String> answer = super.resolveDependencies(settings);
+    protected Set<String> resolveDependencies(File settings, File profile) 
throws Exception {
+        Set<String> answer = super.resolveDependencies(settings, profile);
 
         answer.removeIf(s -> s.contains("camel-core"));
         answer.removeIf(s -> s.contains("camel-dsl-modeline"));

Reply via email to