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 d099397bc17 CAMEL-21939: camel-jbang: Fix export to not run twice, and also fix camel-export.log, and be able to log to console and add the verbose option also. d099397bc17 is described below commit d099397bc17074ae309a4cad9df40f5c0b7a3770 Author: Claus Ibsen <claus.ib...@gmail.com> AuthorDate: Tue Apr 8 11:25:18 2025 +0200 CAMEL-21939: camel-jbang: Fix export to not run twice, and also fix camel-export.log, and be able to log to console and add the verbose option also. --- .../apache/camel/dsl/jbang/core/commands/Export.java | 20 +++++++++++--------- .../apache/camel/dsl/jbang/core/commands/Run.java | 7 ++++++- .../core/commands/kubernetes/KubernetesExport.java | 8 +++++--- .../core/commands/kubernetes/KubernetesRun.java | 5 +++-- 4 files changed, 25 insertions(+), 15 deletions(-) diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Export.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Export.java index 8f355c9ecbd..c7a8578886a 100644 --- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Export.java +++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Export.java @@ -49,6 +49,14 @@ public class Export extends ExportBaseCommand { @Override protected Integer export() throws Exception { + int answer = doExport(); + if (answer == 0 && !quiet) { + printer().println("Project export successful!"); + } + return answer; + } + + protected Integer doExport() throws Exception { // application.properties doLoadAndInitProfileProperties(new File("application.properties")); if (profile != null) { @@ -70,27 +78,21 @@ public class Export extends ExportBaseCommand { gav = "org.example.project:%s:%s".formatted(pn, getVersion()); } - int answer; switch (runtime) { case springBoot -> { - answer = export(new ExportSpringBoot(getMain())); + return export(new ExportSpringBoot(getMain())); } case quarkus -> { - answer = export(new ExportQuarkus(getMain())); + return export(new ExportQuarkus(getMain())); } case main -> { - answer = export(new ExportCamelMain(getMain())); + return export(new ExportCamelMain(getMain())); } default -> { printer().printErr("Unknown runtime: " + runtime); return 1; } } - - if (answer == 0 && !quiet) { - printer().println("Project export successful!"); - } - return answer; } private void doLoadAndInitProfileProperties(File file) throws Exception { diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Run.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Run.java index e1124670074..b4a0c2dcbe8 100644 --- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Run.java +++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Run.java @@ -83,6 +83,9 @@ import static org.apache.camel.dsl.jbang.core.common.GitHubHelper.fetchGithubUrl @Command(name = "run", description = "Run as local Camel integration", sortOptions = false, showDefaultValues = true) public class Run extends CamelCommand { + // special template for running camel-jbang in docker containers + public static final String RUN_JAVA_SH = "classpath:templates/run-java.sh"; + public static final String RUN_SETTINGS_FILE = "camel-jbang-run.properties"; private static final String RUN_PLATFORM_DIR = ".camel-jbang-run"; @@ -501,8 +504,10 @@ public class Run extends CamelCommand { files.add(0, codeFile); } + boolean autoDetectFiles = files.isEmpty() || RUN_JAVA_SH.equals(files.get(0)); + // if no specific file to run then try to auto-detect - if (!empty && files.isEmpty()) { + if (!empty && autoDetectFiles) { if (sourceDir != null) { // silent-run then auto-detect all initial files for source-dir String[] allFiles = new File(sourceDir).list(); diff --git a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesExport.java b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesExport.java index 44263c016a0..37c3031154c 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesExport.java +++ b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesExport.java @@ -175,6 +175,7 @@ public class KubernetesExport extends Export { quiet = configurer.quiet; logging = configurer.logging; loggingLevel = configurer.loggingLevel; + verbose = configurer.verbose; } public Integer export() throws Exception { @@ -210,7 +211,7 @@ public class KubernetesExport extends Export { List<Source> sources; try { - addFile("classpath:templates/run-java.sh"); + addFile(Run.RUN_JAVA_SH); sources = SourceHelper.resolveSources(files); } catch (Exception e) { printer().printf("Project export failed: %s - %s%n", e.getMessage(), @@ -339,7 +340,7 @@ public class KubernetesExport extends Export { setContainerHealthPaths(); // Run export - int exit = super.export(); + int exit = super.doExport(); if (exit != 0) { printer().println("Project export failed"); return exit; @@ -584,6 +585,7 @@ public class KubernetesExport extends Export { boolean download, boolean quiet, boolean logging, - String loggingLevel) { + String loggingLevel, + boolean verbose) { } } diff --git a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesRun.java b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesRun.java index 6d4bff92265..9df633f1cac 100644 --- a/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesRun.java +++ b/dsl/camel-jbang/camel-jbang-plugin-kubernetes/src/main/java/org/apache/camel/dsl/jbang/core/commands/kubernetes/KubernetesRun.java @@ -399,8 +399,9 @@ public class KubernetesRun extends KubernetesBaseCommand { true, true, (quiet || output != null), - false, - "off"); + true, + "info", + verbose); KubernetesExport export = new KubernetesExport(getMain(), configurer); export.image = image;