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"));