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/06/06 13:07:30 UTC
[camel] 04/04: CAMEL-18151: camel-jbang - Base command for export
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
commit 877e6798b96fd2fbbfebb1b4b32ab5566d4d2226
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Mon Jun 6 15:07:06 2022 +0200
CAMEL-18151: camel-jbang - Base command for export
---
.../apache/camel/dsl/jbang/core/commands/BaseExport.java | 15 ++++++++-------
.../camel/dsl/jbang/core/commands/ExportCamelMain.java | 7 ++++++-
.../camel/dsl/jbang/core/commands/ExportQuarkus.java | 6 +++++-
.../camel/dsl/jbang/core/commands/ExportSpringBoot.java | 4 ++--
4 files changed, 21 insertions(+), 11 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 2d3568f7a8c..f86bc820cfa 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
@@ -12,8 +12,10 @@ import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
+import java.util.Properties;
import java.util.Set;
import java.util.TreeSet;
+import java.util.function.Function;
import java.util.stream.Collectors;
import org.apache.camel.main.MavenGav;
@@ -165,7 +167,8 @@ abstract class BaseExport extends CamelCommand {
// noop
}
- protected void copySettingsAndProfile(File settings, File profile, File targetDir, String packageName) throws Exception {
+ protected void copySettingsAndProfile(File settings, File profile, File targetDir, Function<Properties, Object> customize)
+ throws Exception {
OrderedProperties prop = new OrderedProperties();
prop.load(new FileInputStream(settings));
OrderedProperties prop2 = new OrderedProperties();
@@ -181,10 +184,8 @@ abstract class BaseExport extends CamelCommand {
}
}
- // should have package name set for package scan
- if (packageName != null && !prop2.containsKey("camel.main.basePackageScan")
- && !prop2.containsKey("camel.main.base-package-scan")) {
- prop2.put("camel.main.basePackageScan", packageName);
+ if (customize != null) {
+ customize.apply(prop2);
}
FileOutputStream fos = new FileOutputStream(new File(targetDir, "application.properties"), false);
@@ -207,7 +208,7 @@ abstract class BaseExport extends CamelCommand {
.collect(Collectors.joining(","));
}
if (!v.isBlank()) {
- String line = adjustApplicationProperties(k, v);
+ String line = applicationPropertyLine(k, v);
fos.write(line.getBytes(StandardCharsets.UTF_8));
fos.write("\n".getBytes(StandardCharsets.UTF_8));
}
@@ -215,7 +216,7 @@ abstract class BaseExport extends CamelCommand {
IOHelper.close(fos);
}
- protected String adjustApplicationProperties(String key, String value) {
+ protected String applicationPropertyLine(String key, String value) {
return key + "=" + value;
}
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 9930a6345c6..8dfc162766d 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
@@ -81,7 +81,12 @@ class ExportCamelMain extends BaseExport {
srcCamelResourcesDir.mkdirs();
copySourceFiles(settings, profile, srcJavaDir, srcResourcesDir, srcCamelResourcesDir, packageName);
// copy from settings to profile
- copySettingsAndProfile(settings, profile, srcResourcesDir, packageName);
+ copySettingsAndProfile(settings, profile, srcResourcesDir, prop -> {
+ if (!prop.containsKey("camel.main.basePackageScan") && !prop.containsKey("camel.main.base-package-scan")) {
+ prop.put("camel.main.basePackageScan", packageName);
+ }
+ return prop;
+ });
// create main class
createMainClassSource(srcJavaDir, packageName, mainClassname);
// gather dependencies
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 0f43e58acb0..3e0f5b88cbe 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
@@ -78,7 +78,11 @@ class ExportQuarkus extends BaseExport {
srcCamelResourcesDir.mkdirs();
copySourceFiles(settings, profile, srcJavaDir, srcResourcesDir, srcCamelResourcesDir, packageName);
// copy from settings to profile
- copySettingsAndProfile(settings, profile, srcResourcesDir, null);
+ copySettingsAndProfile(settings, profile, srcResourcesDir, prop -> {
+ // turn off modeline as it is not supported in quarkus
+ prop.remove("camel.main.modeline");
+ return prop;
+ });
// gather dependencies
Set<String> deps = resolveDependencies(settings);
// create pom
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 b61735dfc3b..262a2e2ac40 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
@@ -191,12 +191,12 @@ class ExportSpringBoot extends BaseExport {
}
@Override
- protected String adjustApplicationProperties(String key, String value) {
+ protected String applicationPropertyLine(String key, String value) {
// camel.main.x should be renamed to camel.springboot.x
if (key.startsWith("camel.main.")) {
key = "camel.springboot." + key.substring(11);
}
- return super.adjustApplicationProperties(key, value);
+ return super.applicationPropertyLine(key, value);
}
}