This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch camel-3.x
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/camel-3.x by this push:
     new 5ba320441c7 CAMEL-19255: Added code to export kamelets yaml files to 
/kamelets folder after running camel jbang export command. (#9829)
5ba320441c7 is described below

commit 5ba320441c709ec99076f1e3bda417c28ac0be3b
Author: Mrinal Sharma <[email protected]>
AuthorDate: Sun Apr 9 01:45:10 2023 -0400

    CAMEL-19255: Added code to export kamelets yaml files to /kamelets folder 
after running camel jbang export command. (#9829)
---
 .../camel/dsl/jbang/core/commands/ExportBaseCommand.java   | 14 ++++++++++----
 .../camel/dsl/jbang/core/commands/ExportCamelMain.java     |  9 ++++++---
 .../camel/dsl/jbang/core/commands/ExportQuarkus.java       |  6 +++++-
 .../camel/dsl/jbang/core/commands/ExportSpringBoot.java    |  5 ++++-
 4 files changed, 25 insertions(+), 9 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 1f16f078ccd..86a136dd349 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
@@ -356,7 +356,7 @@ abstract class ExportBaseCommand extends CamelCommand {
 
     protected void copySourceFiles(
             File settings, File profile, File srcJavaDirRoot, File srcJavaDir, 
File srcResourcesDir, File srcCamelResourcesDir,
-            String packageName)
+            File srcKameletsResourcesDir, String packageName)
             throws Exception {
         // read the settings file and find the files to copy
         Properties prop = new CamelCaseOrderedProperties();
@@ -376,8 +376,8 @@ abstract class ExportBaseCommand extends CamelCommand {
                     }
                     String ext = FileUtil.onlyExt(f, true);
                     boolean java = "java".equals(ext);
-                    boolean camel = "camel.main.routesIncludePattern".equals(k)
-                            || "camel.component.kamelet.location".equals(k)
+                    boolean camel = 
"camel.main.routesIncludePattern".equals(k);
+                    boolean kamelet = 
"camel.component.kamelet.location".equals(k)
                             || "camel.jbang.localKameletDir".equals(k);
                     File target = java ? srcJavaDir : camel ? 
srcCamelResourcesDir : srcResourcesDir;
                     File source = new File(f);
@@ -388,7 +388,13 @@ abstract class ExportBaseCommand extends CamelCommand {
                         out = new File(target, source.getName());
                     }
                     if (!java) {
-                        safeCopy(source, out, true);
+                        if (camel) {
+                            safeCopy(source, out, true);
+                        }
+                        if (kamelet) {
+                            out = srcKameletsResourcesDir;
+                            safeCopy(source, out, true);
+                        }
                     } else {
                         // need to append package name in java source file
                         List<String> lines = 
Files.readAllLines(source.toPath());
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 ad7da9ea1fb..ea1e5b1e603 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
@@ -91,7 +91,10 @@ class ExportCamelMain extends Export {
         srcResourcesDir.mkdirs();
         File srcCamelResourcesDir = new File(BUILD_DIR, 
"src/main/resources/camel");
         srcCamelResourcesDir.mkdirs();
-        copySourceFiles(settings, profile, srcJavaDirRoot, srcJavaDir, 
srcResourcesDir, srcCamelResourcesDir, packageName);
+        File srcKameletsResourcesDir = new File(BUILD_DIR, 
"src/main/resources/kamelets");
+        srcKameletsResourcesDir.mkdirs();
+        copySourceFiles(settings, profile, srcJavaDirRoot, srcJavaDir, 
srcResourcesDir, srcCamelResourcesDir,
+                srcKameletsResourcesDir, packageName);
         // copy from settings to profile
         copySettingsAndProfile(settings, profile, srcResourcesDir, prop -> {
             if (!prop.containsKey("camel.main.basePackageScan") && 
!prop.containsKey("camel.main.base-package-scan")) {
@@ -221,11 +224,11 @@ class ExportCamelMain extends Export {
     @Override
     protected void copySourceFiles(
             File settings, File profile, File srcJavaDirRoot, File srcJavaDir, 
File srcResourcesDir, File srcCamelResourcesDir,
-            String packageName)
+            File srcKameletsResourcesDir, String packageName)
             throws Exception {
 
         super.copySourceFiles(settings, profile, srcJavaDirRoot, srcJavaDir, 
srcResourcesDir, srcCamelResourcesDir,
-                packageName);
+                srcKameletsResourcesDir, packageName);
 
         // log4j configuration
         InputStream is = 
ExportCamelMain.class.getResourceAsStream("/log4j2.properties");
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 50a5b26e161..348f2e0d6c6 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
@@ -96,7 +96,10 @@ class ExportQuarkus extends Export {
         srcResourcesDir.mkdirs();
         File srcCamelResourcesDir = new File(BUILD_DIR, 
"src/main/resources/camel");
         srcCamelResourcesDir.mkdirs();
-        copySourceFiles(settings, profile, srcJavaDirRoot, srcJavaDir, 
srcResourcesDir, srcCamelResourcesDir, packageName);
+        File srcKameletsResourcesDir = new File(BUILD_DIR, 
"src/main/resources/kamelets");
+        srcKameletsResourcesDir.mkdirs();
+        copySourceFiles(settings, profile, srcJavaDirRoot, srcJavaDir, 
srcResourcesDir, srcCamelResourcesDir,
+                srcKameletsResourcesDir, packageName);
         // copy from settings to profile
         copySettingsAndProfile(settings, profile, srcResourcesDir, prop -> {
             if (!hasModeline(settings)) {
@@ -180,6 +183,7 @@ class ExportQuarkus extends Export {
                 properties.setProperty("camel.main.routes-include-pattern", 
routes);
             }
         }
+
     }
 
     private static String removeScheme(String s) {
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 9d60f11255b..1c24152148e 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
@@ -97,7 +97,10 @@ class ExportSpringBoot extends Export {
         srcResourcesDir.mkdirs();
         File srcCamelResourcesDir = new File(BUILD_DIR, 
"src/main/resources/camel");
         srcCamelResourcesDir.mkdirs();
-        copySourceFiles(settings, profile, srcJavaDirRoot, srcJavaDir, 
srcResourcesDir, srcCamelResourcesDir, packageName);
+        File srcKameletsResourcesDir = new File(BUILD_DIR, 
"src/main/resources/kamelets");
+        srcKameletsResourcesDir.mkdirs();
+        copySourceFiles(settings, profile, srcJavaDirRoot, srcJavaDir, 
srcResourcesDir, srcCamelResourcesDir,
+                srcKameletsResourcesDir, packageName);
         // copy from settings to profile
         copySettingsAndProfile(settings, profile, srcResourcesDir, prop -> {
             if (!hasModeline(settings)) {

Reply via email to