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 d539d86b493 CAMEL-21688: camel-jbang - Export to SB should enable run
controller if no http server included, to keep SB running..
d539d86b493 is described below
commit d539d86b49387e44c6d2bb77ee1f1c7af25609af
Author: Claus Ibsen <[email protected]>
AuthorDate: Fri Jan 31 09:35:53 2025 +0100
CAMEL-21688: camel-jbang - Export to SB should enable run controller if no
http server included, to keep SB running..
---
.../camel/dsl/jbang/core/commands/ExportSpringBoot.java | 17 +++++++++++------
.../camel/dsl/jbang/core/commands/ExportTest.java | 4 ++++
2 files changed, 15 insertions(+), 6 deletions(-)
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 3471cdcdc48..e7f2116dd09 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
@@ -107,19 +107,24 @@ class ExportSpringBoot extends Export {
copySourceFiles(settings, profile, srcJavaDirRoot, srcJavaDir,
srcResourcesDir, srcCamelResourcesDir,
srcKameletsResourcesDir, srcPackageName);
+ // create main class
+ createMainClassSource(srcJavaDir, srcPackageName, mainClassname);
+ // gather dependencies
+ final Set<String> deps = resolveDependencies(settings, profile);
+ // copy local lib JARs
+ copyLocalLibDependencies(deps);
// copy from settings to profile
copySettingsAndProfile(settings, profile, srcResourcesDir, prop -> {
if (!hasModeline(settings)) {
prop.remove("camel.main.modeline");
}
+ // ensure spring-boot keeps running if no HTTP server included
+ boolean http = deps.stream().anyMatch(s ->
s.contains("mvn:org.apache.camel:camel-platform-http"));
+ if (!http) {
+ prop.put("camel.springboot.main-run-controller", "true");
+ }
return prop;
});
- // create main class
- createMainClassSource(srcJavaDir, srcPackageName, mainClassname);
- // gather dependencies
- Set<String> deps = resolveDependencies(settings, profile);
- // copy local lib JARs
- copyLocalLibDependencies(deps);
if ("maven".equals(buildTool)) {
createMavenPom(settings, profile, new File(BUILD_DIR, "pom.xml"),
deps);
if (mavenWrapper) {
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 1c5a760d3b5..04abd543a78 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
@@ -363,6 +363,10 @@ class ExportTest {
Assertions.assertFalse(content.contains("camel.main.routes-include-pattern"),
"should not contain camel.main.routes-include-pattern
property, was " + content);
}
+ if (rt == RuntimeType.springBoot) {
+
Assertions.assertTrue(content.contains("camel.springboot.main-run-controller=true"),
+ "should contain camel.springboot.main-run-controller
property, was " + content);
+ }
}
}