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 <[email protected]>
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"));