This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch camel-4.8.x
in repository https://gitbox.apache.org/repos/asf/camel.git
The following commit(s) were added to refs/heads/camel-4.8.x by this push:
new e1306e29700 fix(dsl): jbang run/export contract first API (#15829)
e1306e29700 is described below
commit e1306e297005d151cabdcb428c782761a9f49995
Author: Pasquale Congiusti <[email protected]>
AuthorDate: Thu Oct 3 13:55:50 2024 +0200
fix(dsl): jbang run/export contract first API (#15829)
Closes CAMEL-21301
---
.../camel/dsl/jbang/core/commands/ExportBaseCommand.java | 5 +++++
.../camel/dsl/jbang/core/commands/ExportCamelMain.java | 12 +-----------
.../camel/dsl/jbang/core/commands/ExportSpringBoot.java | 2 +-
3 files changed, 7 insertions(+), 12 deletions(-)
diff --git
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
index 958327e5bef..ee9aaff5e6b 100644
---
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
+++
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportBaseCommand.java
@@ -723,6 +723,11 @@ public abstract class ExportBaseCommand extends
CamelCommand {
// noop
}
+ // Returns true if it has either an openapi spec or it uses contract-first
DSL
+ protected boolean hasOpenapi(Set<String> dependencies) {
+ return openapi != null || dependencies.stream().anyMatch(s ->
s.contains("mvn:org.apache.camel:camel-rest-openapi"));
+ }
+
protected Properties mapBuildProperties() {
var answer = new Properties();
buildProperties.stream().map(item -> item.split("=")).forEach(toks ->
answer.setProperty(toks[0], toks[1]));
diff --git
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportCamelMain.java
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportCamelMain.java
index a440ecb8e6d..4c0038377a1 100644
---
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportCamelMain.java
+++
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/ExportCamelMain.java
@@ -344,7 +344,7 @@ class ExportCamelMain extends Export {
answer.removeIf(s -> s.contains("camel-health"));
boolean main = answer.stream().anyMatch(s ->
s.contains("mvn:org.apache.camel:camel-platform-http-main"));
- if (openapi != null && !main) {
+ if (hasOpenapi(answer) && !main) {
// include http server if using openapi
answer.add("mvn:org.apache.camel:camel-platform-http-main");
}
@@ -361,16 +361,6 @@ class ExportCamelMain extends Export {
return answer;
}
- @Override
- protected void prepareApplicationProperties(Properties properties) {
- if (openapi != null) {
- // enable http server if not explicit configured
- if (properties.getProperty("camel.server.enabled") == null) {
- properties.setProperty("camel.server.enabled", "true");
- }
- }
- }
-
private void createMainClassSource(File srcJavaDir, String packageName,
String mainClassname) throws Exception {
InputStream is =
ExportCamelMain.class.getClassLoader().getResourceAsStream("templates/main.tmpl");
String context = IOHelper.loadText(is);
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 cad8c9da549..aaade9beaa2 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
@@ -347,7 +347,7 @@ class ExportSpringBoot extends Export {
answer.removeIf(s -> s.contains("camel-core"));
boolean http = answer.stream().anyMatch(s ->
s.contains("mvn:org.apache.camel:camel-platform-http"));
- if (openapi != null && !http) {
+ if (hasOpenapi(answer) && !http) {
// include http server if using openapi
answer.add("mvn:org.apache.camel:camel-platform-http");
}