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

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

commit 6c0e352df700a634043068f3e77879b23e008623
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Wed Jul 23 13:51:31 2025 +0200

    CAMEL-22254: camel-jbang - Export to quarkus no longer need a special 
native property when using quarkus 3.22 or newer
---
 .../camel/dsl/jbang/core/commands/Debug.java       |  2 +-
 .../dsl/jbang/core/commands/ExportQuarkus.java     |  9 ++++++---
 .../dsl/jbang/core/commands/ExportSpringBoot.java  |  2 +-
 .../camel/dsl/jbang/core/common/CatalogLoader.java |  2 +-
 .../camel/dsl/jbang/core/commands/ExportTest.java  | 22 ++++++++++++++++++++--
 5 files changed, 29 insertions(+), 8 deletions(-)

diff --git 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Debug.java
 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Debug.java
index 035676fbb0c..ba169769506 100644
--- 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Debug.java
+++ 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Debug.java
@@ -583,7 +583,7 @@ public class Debug extends Run {
                     // from camel 4.7 onwards then message history include 
current line as well
                     // so the history panel needs to output a bit different in 
this situation
                     boolean top = false;
-                    if (row.version != null && VersionHelper.isGE(row.version, 
"4.7")) {
+                    if (row.version != null && VersionHelper.isGE(row.version, 
"4.7.0")) {
                         top = h == row.history.get(row.history.size() - 1);
                     }
 
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 ab652794e2e..cbf96574aed 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
@@ -204,13 +204,16 @@ class ExportQuarkus extends Export {
             if (extra != null) {
                 sj.add(extra);
             }
-            if (sj.length() > 0) {
-                properties.setProperty("quarkus.native.resources.includes", 
sj.toString());
+            if (extra != null || VersionHelper.isLE(quarkusVersion, "3.21.0")) 
{
+                // quarkus 3.21 or older need to have 
quarkus.native.resources.includes configured
+                if (sj.length() > 0) {
+                    
properties.setProperty("quarkus.native.resources.includes", sj.toString());
+                }
             }
         }
 
         // CAMEL-20911 workaround due to a bug in CEQ 3.11 and 3.12
-        if (VersionHelper.isBetween(quarkusVersion, "3.11", "3.13")) {
+        if (VersionHelper.isBetween(quarkusVersion, "3.11.0", "3.13.0")) {
             if 
(!properties.containsKey("quarkus.camel.openapi.codegen.model-package")) {
                 properties.put("quarkus.camel.openapi.codegen.model-package", 
"org.apache.camel.quarkus");
             }
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 0ee245452c0..687c856e2e0 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
@@ -399,7 +399,7 @@ class ExportSpringBoot extends Export {
             // skip "camel.server." as this is for camel-main only
             return null;
         }
-        boolean camel44orOlder = camelSpringBootVersion != null && 
VersionHelper.isLE("4.4", camelSpringBootVersion);
+        boolean camel44orOlder = camelSpringBootVersion != null && 
VersionHelper.isLE("4.4.0", camelSpringBootVersion);
         if (camel44orOlder) {
             // camel.main.x should be renamed to camel.springboot.x (for camel 
4.4.x or older)
             if (key.startsWith("camel.main.")) {
diff --git 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/CatalogLoader.java
 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/CatalogLoader.java
index dec3e382aee..6eab9328827 100644
--- 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/CatalogLoader.java
+++ 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/common/CatalogLoader.java
@@ -159,7 +159,7 @@ public final class CatalogLoader {
             return answer;
         }
         // quarkus 3.2.x and older must have .Final
-        boolean finalSuffix = VersionHelper.isLE(quarkusVersion, "3.2");
+        boolean finalSuffix = VersionHelper.isLE(quarkusVersion, "3.2.0");
         if (finalSuffix && !quarkusVersion.endsWith(".Final")) {
             quarkusVersion += ".Final";
         }
diff --git 
a/dsl/camel-jbang/camel-jbang-core/src/test/java/org/apache/camel/dsl/jbang/core/commands/ExportTest.java
 
b/dsl/camel-jbang/camel-jbang-core/src/test/java/org/apache/camel/dsl/jbang/core/commands/ExportTest.java
index 475306a1915..be7fba71427 100644
--- 
a/dsl/camel-jbang/camel-jbang-core/src/test/java/org/apache/camel/dsl/jbang/core/commands/ExportTest.java
+++ 
b/dsl/camel-jbang/camel-jbang-core/src/test/java/org/apache/camel/dsl/jbang/core/commands/ExportTest.java
@@ -36,6 +36,7 @@ import org.apache.maven.model.io.xpp3.MavenXpp3Reader;
 import org.junit.jupiter.api.AfterEach;
 import org.junit.jupiter.api.Assertions;
 import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
 import org.junit.jupiter.params.ParameterizedTest;
 import org.junit.jupiter.params.provider.Arguments;
 import org.junit.jupiter.params.provider.MethodSource;
@@ -399,8 +400,8 @@ class ExportTest {
         try (FileInputStream fis = new FileInputStream(appProps)) {
             String content = IOHelper.loadText(fis);
             if (rt == RuntimeType.quarkus) {
-                
Assertions.assertTrue(content.contains("quarkus.native.resources.includes=camel/route.yaml"),
-                        "should contain quarkus.native.resources.includes 
property, was " + content);
+                
Assertions.assertFalse(content.contains("quarkus.native.resources.includes=camel/route.yaml"),
+                        "should not contain quarkus.native.resources.includes 
property, was " + content);
             }
             
Assertions.assertFalse(content.contains("camel.main.routes-include-pattern"),
                     "should not contain camel.main.routes-include-pattern 
property, was " + content);
@@ -411,6 +412,23 @@ class ExportTest {
         }
     }
 
+    @Test
+    public void olderQuarkusVersion() throws Exception {
+        LOG.info("olderQuarkusVersion");
+        // We need a real file as we want to test the generated content
+        Export command = createCommand(RuntimeType.quarkus, new String[] { 
"src/test/resources/route.yaml" },
+                "--gav=examples:route:1.0.0", "--dir=" + workingDir, 
"--quiet", "--quarkus-version=3.21.0");
+        int exit = command.doCall();
+
+        Assertions.assertEquals(0, exit);
+
+        // Application properties
+        File appProperties = new File(workingDir + "/src/main/resources", 
"application.properties");
+        String content = IOHelper.loadText(new FileInputStream(appProperties));
+        
Assertions.assertTrue(content.contains("quarkus.native.resources.includes=camel/route.yaml"),
+                "should not contain quarkus.native.resources.includes 
property, was " + content);
+    }
+
     @ParameterizedTest
     @MethodSource("runtimeProvider")
     public void shouldGenerateJavaContent(RuntimeType rt) throws Exception {

Reply via email to