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 d222619b0fa CAMEL-21694: camel-jbang - Export to a different version 
via --camel-version is now supported.
d222619b0fa is described below

commit d222619b0fa2fc0c84f2f079b1b592f55f7e4a54
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Fri Jan 31 20:12:56 2025 +0100

    CAMEL-21694: camel-jbang - Export to a different version via 
--camel-version is now supported.
---
 .../apache/camel/dsl/jbang/core/commands/Run.java  |  3 ++-
 .../camel/dsl/jbang/core/commands/ExportTest.java  | 28 ++++++++++++++++++++++
 2 files changed, 30 insertions(+), 1 deletion(-)

diff --git 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Run.java
 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Run.java
index b8f24480be8..02c50e5d227 100644
--- 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Run.java
+++ 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Run.java
@@ -872,7 +872,8 @@ public class Run extends CamelCommand {
         }
 
         // okay we have validated all input and are ready to run
-        if (camelVersion != null || isDebugMode()) {
+        // (if exporting then we cannot run a different version)
+        if (!exportRun && camelVersion != null || isDebugMode()) {
             // TODO: debug camel specific version
             boolean custom = false;
             if (camelVersion != null) {
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 04abd543a78..26a9807e750 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
@@ -81,6 +81,34 @@ class ExportTest {
         
Assertions.assertNotNull(model.getProperties().get("project.build.outputTimestamp"));
     }
 
+    @ParameterizedTest
+    @MethodSource("runtimeProvider")
+    public void shouldExportDifferentVersion(RuntimeType rt) throws Exception {
+        // only test for main/spring-boot
+        if (rt == RuntimeType.quarkus) {
+            return;
+        }
+        Export command = createCommand(rt, new String[] { 
"classpath:route.yaml" },
+                "--gav=examples:route:1.0.0", "--camel-version=4.8.3", 
"--dir=" + workingDir, "--quiet");
+        int exit = command.doCall();
+
+        Assertions.assertEquals(0, exit);
+        Model model = readMavenModel();
+        Assertions.assertEquals("examples", model.getGroupId());
+        Assertions.assertEquals("route", model.getArtifactId());
+        Assertions.assertEquals("1.0.0", model.getVersion());
+        // Reproducible build
+        
Assertions.assertNotNull(model.getProperties().get("project.build.outputTimestamp"));
+
+        if (rt == RuntimeType.main) {
+            
Assertions.assertTrue(containsDependency(model.getDependencyManagement().getDependencies(),
 "org.apache.camel",
+                    "camel-bom", "4.8.3"));
+        } else if (rt == RuntimeType.springBoot) {
+            
Assertions.assertTrue(containsDependency(model.getDependencyManagement().getDependencies(),
+                    "org.apache.camel.springboot", "camel-spring-boot-bom", 
"4.8.3"));
+        }
+    }
+
     @ParameterizedTest
     @MethodSource("runtimeProvider")
     public void shouldGenerateProjectWithBuildProperties(RuntimeType rt) 
throws Exception {

Reply via email to