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 2023/04/09 05:49:19 UTC

[camel] branch camel-3.x updated: CAMEL-19255: Added code to export kamelets yaml files to /kamelets folder after running camel jbang export command. (#9829)

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 <mr...@users.noreply.github.com>
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)) {