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 29c92b5cf422 CAMEL-23354: camel-jbang use quarkus-junit for Quarkus 
3.31+
29c92b5cf422 is described below

commit 29c92b5cf422652d2aefa3aa0b98d3cee7df35aa
Author: Claus Ibsen <[email protected]>
AuthorDate: Tue Jun 23 18:24:31 2026 +0200

    CAMEL-23354: camel-jbang use quarkus-junit for Quarkus 3.31+
    
    Replace deprecated quarkus-junit5 artifact with quarkus-junit, renamed
    in Quarkus 3.31. Add version-conditional logic in FreeMarker templates
    to use the new artifact for Quarkus >= 3.31 while keeping quarkus-junit5
    for older versions. Update camel-jbang-mcp pom.xml directly.
    
    Closes #24200
    Co-Authored-By: Claude <[email protected]>
---
 .../dsl/jbang/core/commands/ExportQuarkus.java     |  1 +
 .../resources/templates/quarkus-kubernetes-pom.ftl |  4 +++
 .../src/main/resources/templates/quarkus-pom.ftl   |  4 +++
 .../dsl/jbang/core/common/TemplateHelperTest.java  | 39 +++++++++++++++++++++-
 dsl/camel-jbang/camel-jbang-mcp/pom.xml            |  2 +-
 5 files changed, 48 insertions(+), 2 deletions(-)

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 6f435d65a1f5..406b351366c5 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
@@ -386,6 +386,7 @@ class ExportQuarkus extends Export {
         model.put("QuarkusGroupId", quarkusCamelBom.getGroupId());
         model.put("QuarkusArtifactId", quarkusCamelBom.getArtifactId());
         model.put("QuarkusVersion", quarkusCamelBom.getVersion());
+        model.put("UseQuarkusJunit", 
VersionHelper.isGE(quarkusCamelBom.getVersion(), "3.31.0"));
         model.put("QuarkusPackageType", quarkusPackageType);
         model.put("JavaVersion", javaVersion);
         model.put("ProjectBuildOutputTimestamp", 
this.getBuildMavenProjectDate());
diff --git 
a/dsl/camel-jbang/camel-jbang-core/src/main/resources/templates/quarkus-kubernetes-pom.ftl
 
b/dsl/camel-jbang/camel-jbang-core/src/main/resources/templates/quarkus-kubernetes-pom.ftl
index 382669c50960..afddc007214a 100644
--- 
a/dsl/camel-jbang/camel-jbang-core/src/main/resources/templates/quarkus-kubernetes-pom.ftl
+++ 
b/dsl/camel-jbang/camel-jbang-core/src/main/resources/templates/quarkus-kubernetes-pom.ftl
@@ -127,7 +127,11 @@
 
         <dependency>
             <groupId>io.quarkus</groupId>
+[#if UseQuarkusJunit]
+            <artifactId>quarkus-junit</artifactId>
+[#else]
             <artifactId>quarkus-junit5</artifactId>
+[/#if]
             <scope>test</scope>
         </dependency>
     </dependencies>
diff --git 
a/dsl/camel-jbang/camel-jbang-core/src/main/resources/templates/quarkus-pom.ftl 
b/dsl/camel-jbang/camel-jbang-core/src/main/resources/templates/quarkus-pom.ftl
index 2e826b283f29..c5f393931c17 100644
--- 
a/dsl/camel-jbang/camel-jbang-core/src/main/resources/templates/quarkus-pom.ftl
+++ 
b/dsl/camel-jbang/camel-jbang-core/src/main/resources/templates/quarkus-pom.ftl
@@ -127,7 +127,11 @@
 
         <dependency>
             <groupId>io.quarkus</groupId>
+[#if UseQuarkusJunit]
+            <artifactId>quarkus-junit</artifactId>
+[#else]
             <artifactId>quarkus-junit5</artifactId>
+[/#if]
             <scope>test</scope>
         </dependency>
     </dependencies>
diff --git 
a/dsl/camel-jbang/camel-jbang-core/src/test/java/org/apache/camel/dsl/jbang/core/common/TemplateHelperTest.java
 
b/dsl/camel-jbang/camel-jbang-core/src/test/java/org/apache/camel/dsl/jbang/core/common/TemplateHelperTest.java
index dd2e5867ca22..55a6e6c31769 100644
--- 
a/dsl/camel-jbang/camel-jbang-core/src/test/java/org/apache/camel/dsl/jbang/core/common/TemplateHelperTest.java
+++ 
b/dsl/camel-jbang/camel-jbang-core/src/test/java/org/apache/camel/dsl/jbang/core/common/TemplateHelperTest.java
@@ -299,7 +299,7 @@ class TemplateHelperTest {
     }
 
     @Test
-    void testQuarkusPomTemplate() throws IOException {
+    void testQuarkusPomTemplateOlderVersion() throws IOException {
         Map<String, Object> model = new HashMap<>();
         model.put("GroupId", "com.example");
         model.put("ArtifactId", "my-quarkus-app");
@@ -307,6 +307,7 @@ class TemplateHelperTest {
         model.put("QuarkusGroupId", "io.quarkus.platform");
         model.put("QuarkusArtifactId", "quarkus-bom");
         model.put("QuarkusVersion", "3.17.0");
+        model.put("UseQuarkusJunit", false);
         model.put("QuarkusPackageType", "uber-jar");
         model.put("JavaVersion", "21");
         model.put("ProjectBuildOutputTimestamp", "2024-01-01T00:00:00Z");
@@ -325,6 +326,42 @@ class TemplateHelperTest {
                 "Should contain QuarkusPackageType");
         // Maven ${...} should pass through
         assertTrue(result.contains("${quarkus.platform.version}"));
+        // Quarkus < 3.31 should use quarkus-junit5
+        assertTrue(result.contains("<artifactId>quarkus-junit5</artifactId>"),
+                "Should use quarkus-junit5 for Quarkus < 3.31");
+        assertFalse(result.contains("<artifactId>quarkus-junit</artifactId>"),
+                "Should not use quarkus-junit for Quarkus < 3.31");
+    }
+
+    @Test
+    void testQuarkusPomTemplateCurrentVersion() throws IOException {
+        Map<String, Object> model = new HashMap<>();
+        model.put("GroupId", "com.example");
+        model.put("ArtifactId", "my-quarkus-app");
+        model.put("Version", "1.0.0");
+        model.put("QuarkusGroupId", "io.quarkus.platform");
+        model.put("QuarkusArtifactId", "quarkus-bom");
+        model.put("QuarkusVersion", "3.36.3");
+        model.put("UseQuarkusJunit", true);
+        model.put("QuarkusPackageType", "uber-jar");
+        model.put("JavaVersion", "21");
+        model.put("ProjectBuildOutputTimestamp", "2024-01-01T00:00:00Z");
+        model.put("BuildProperties", "");
+        model.put("Repositories", List.of());
+        model.put("Dependencies", List.of());
+        model.put("JibMavenPluginVersion", "3.5.1");
+
+        String result = TemplateHelper.processTemplate("quarkus-pom.ftl", 
model);
+
+        assertNoLicenseHeader(result);
+        assertTrue(result.contains("io.quarkus.platform"));
+        assertTrue(result.contains("quarkus-bom"));
+        assertTrue(result.contains("3.36.3"));
+        // Quarkus >= 3.31 should use quarkus-junit
+        assertTrue(result.contains("<artifactId>quarkus-junit</artifactId>"),
+                "Should use quarkus-junit for Quarkus >= 3.31");
+        assertFalse(result.contains("<artifactId>quarkus-junit5</artifactId>"),
+                "Should not use quarkus-junit5 for Quarkus >= 3.31");
     }
 
     @Test
diff --git a/dsl/camel-jbang/camel-jbang-mcp/pom.xml 
b/dsl/camel-jbang/camel-jbang-mcp/pom.xml
index 9bab3f333f9c..bd3ef18d71ac 100644
--- a/dsl/camel-jbang/camel-jbang-mcp/pom.xml
+++ b/dsl/camel-jbang/camel-jbang-mcp/pom.xml
@@ -149,7 +149,7 @@
         <!-- test dependencies -->
         <dependency>
             <groupId>io.quarkus</groupId>
-            <artifactId>quarkus-junit5</artifactId>
+            <artifactId>quarkus-junit</artifactId>
             <scope>test</scope>
         </dependency>
         <dependency>

Reply via email to