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