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"); }