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 {