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 <[email protected]>
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 {