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