From fc1a22f830a20bf7e3930c35945111b43c9bf4e3 Mon Sep 17 00:00:00 2001 From: Guillaume Nodet Date: Mon, 23 Mar 2026 14:06:16 +0100 Subject: [PATCH] CAMEL-21960: camel-jbang - Auto-detect application.properties in run and export Co-Authored-By: Claude Opus 4.6 --- .../camel/dsl/jbang/core/commands/Export.java | 15 +++++++++++++++ .../apache/camel/dsl/jbang/core/commands/Run.java | 7 +++++++ 2 files changed, 22 insertions(+) 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 463dcdd9efe3d..b97992bdb6c93 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 @@ -95,6 +95,21 @@ protected Integer doExport() throws Exception { } } + // auto-detect application.properties and include it + { + String name = baseDir.resolve("application.properties").toString(); + if (Files.exists(Paths.get(name)) && !files.contains(name)) { + files.add(name); + } + } + if (profile != null) { + // need to include profile application properties if exists + String name = baseDir.resolve("application-" + profile + ".properties").toString(); + if (Files.exists(Paths.get(name)) && !files.contains(name)) { + files.add(name); + } + } + // application.properties doLoadAndInitProfileProperties(baseDir.resolve("application.properties")); if (profile != null) { 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 3c8a946ccb994..5259dc3a85923 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 @@ -728,6 +728,13 @@ private int run() throws Exception { addDependencies(pomDependencies.toArray(new String[0])); } + // auto-detect application.properties and include it + if (!empty && sourceDir == null) { + String appProps = baseDir.resolve("application.properties").toString(); + if (Files.exists(Paths.get(appProps)) && !files.contains(appProps)) { + files.add(appProps); + } + } if (profile != null) { // need to include profile application properties if exists String name = baseDir + "/application-" + profile + ".properties";