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 99ddd2c003f fix(dsl): jbang run/export contract first API (#15829)
99ddd2c003f is described below

commit 99ddd2c003ffda6ea0b65ec8eec1a706a0321bf3
Author: Pasquale Congiusti <pasquale.congiu...@gmail.com>
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 e0f31035658..dfe8f508c79 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
@@ -730,6 +730,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 829f7e9e032..14d92b3a093 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
@@ -349,7 +349,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");
         }
@@ -366,16 +366,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 99111864371..74d0b0601bd 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
@@ -352,7 +352,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");
         }

Reply via email to