This is an automated email from the ASF dual-hosted git repository.
gnodet 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 e5a8f5a5be62 CAMEL-23226: Fix exit codes for validation errors in
camel-jbang commands
e5a8f5a5be62 is described below
commit e5a8f5a5be62325da3a6c9e355ac96f1655c2c66
Author: Guillaume Nodet <[email protected]>
AuthorDate: Mon Mar 23 11:12:15 2026 +0100
CAMEL-23226: Fix exit codes for validation errors in camel-jbang commands
- Change return 0 to return 1 for validation errors across 17 commands
- Covers: no matching PID, ambiguous PID, invalid header format, plugin not
found
- Correctly scoped to commands requiring exactly one PID match
---
.../apache/camel/dsl/jbang/core/commands/action/CamelBeanDump.java | 4 ++--
.../camel/dsl/jbang/core/commands/action/CamelBrowseAction.java | 4 ++--
.../camel/dsl/jbang/core/commands/action/CamelHistoryAction.java | 2 +-
.../apache/camel/dsl/jbang/core/commands/action/CamelLoadAction.java | 4 ++--
.../camel/dsl/jbang/core/commands/action/CamelRouteDumpAction.java | 4 ++--
.../dsl/jbang/core/commands/action/CamelRouteStructureAction.java | 4 ++--
.../apache/camel/dsl/jbang/core/commands/action/CamelSendAction.java | 4 ++--
.../camel/dsl/jbang/core/commands/action/CamelSourceAction.java | 4 ++--
.../apache/camel/dsl/jbang/core/commands/action/CamelSourceTop.java | 4 ++--
.../dsl/jbang/core/commands/action/CamelStartupRecorderAction.java | 4 ++--
.../apache/camel/dsl/jbang/core/commands/action/CamelStubAction.java | 4 ++--
.../apache/camel/dsl/jbang/core/commands/action/CamelThreadDump.java | 4 ++--
.../camel/dsl/jbang/core/commands/action/EvalExpressionCommand.java | 2 +-
.../camel/dsl/jbang/core/commands/action/RouteControllerAction.java | 4 ++--
.../camel/dsl/jbang/core/commands/action/TransformMessageAction.java | 4 ++--
.../org/apache/camel/dsl/jbang/core/commands/plugin/PluginDelete.java | 1 +
.../org/apache/camel/dsl/jbang/core/commands/process/Jolokia.java | 4 ++--
17 files changed, 31 insertions(+), 30 deletions(-)
diff --git
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelBeanDump.java
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelBeanDump.java
index 0d6653b7ed05..d622682c1c50 100644
---
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelBeanDump.java
+++
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelBeanDump.java
@@ -88,11 +88,11 @@ public class CamelBeanDump extends ActionBaseCommand {
List<Long> pids = findPids(name);
if (pids.isEmpty()) {
- return 0;
+ return 1;
} else if (pids.size() > 1) {
printer().println("Name or pid " + name + " matches " + pids.size()
+ " running Camel integrations. Specify a name
or PID that matches exactly one.");
- return 0;
+ return 1;
}
this.pid = pids.get(0);
diff --git
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelBrowseAction.java
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelBrowseAction.java
index 7b6479f258d3..6d7c85a1a1e8 100644
---
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelBrowseAction.java
+++
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelBrowseAction.java
@@ -125,11 +125,11 @@ public class CamelBrowseAction extends ActionBaseCommand {
public Integer doCall() throws Exception {
List<Long> pids = findPids(name);
if (pids.isEmpty()) {
- return 0;
+ return 1;
} else if (pids.size() > 1) {
printer().println("Name or pid " + name + " matches " + pids.size()
+ " running Camel integrations. Specify a name
or PID that matches exactly one.");
- return 0;
+ return 1;
}
this.pid = pids.get(0);
diff --git
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelHistoryAction.java
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelHistoryAction.java
index ddf488b2cc67..c887530e8ed7 100644
---
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelHistoryAction.java
+++
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelHistoryAction.java
@@ -148,7 +148,7 @@ public class CamelHistoryAction extends ActionWatchCommand {
if (it) {
if (pids.size() > 1) {
printer().println("Interactive mode only operate on a
single Camel application");
- return 0;
+ return 1;
}
return doInteractiveCall(pids.get(0));
}
diff --git
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelLoadAction.java
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelLoadAction.java
index 4f296cb6da8a..b41e1ea80539 100644
---
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelLoadAction.java
+++
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelLoadAction.java
@@ -59,11 +59,11 @@ public class CamelLoadAction extends ActionBaseCommand {
List<Long> pids = findPids(name);
if (pids.isEmpty()) {
- return 0;
+ return 1;
} else if (pids.size() > 1) {
printer().println("Name or pid " + name + " matches " + pids.size()
+ " running Camel integrations. Specify a name
or PID that matches exactly one.");
- return 0;
+ return 1;
}
long pid = pids.get(0);
diff --git
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteDumpAction.java
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteDumpAction.java
index e009ff24aafe..3fd7de3d1aba 100644
---
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteDumpAction.java
+++
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteDumpAction.java
@@ -99,11 +99,11 @@ public class CamelRouteDumpAction extends ActionBaseCommand
{
List<Long> pids = findPids(name);
if (pids.isEmpty()) {
- return 0;
+ return 1;
} else if (pids.size() > 1) {
printer().println("Name or pid " + name + " matches " + pids.size()
+ " running Camel integrations. Specify a name
or PID that matches exactly one.");
- return 0;
+ return 1;
}
this.pid = pids.get(0);
diff --git
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteStructureAction.java
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteStructureAction.java
index 5a443b8275f2..14d609ef7b77 100644
---
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteStructureAction.java
+++
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelRouteStructureAction.java
@@ -83,11 +83,11 @@ public class CamelRouteStructureAction extends
ActionBaseCommand {
List<Long> pids = findPids(name);
if (pids.isEmpty()) {
- return 0;
+ return 1;
} else if (pids.size() > 1) {
printer().println("Name or pid " + name + " matches " + pids.size()
+ " running Camel integrations. Specify a name
or PID that matches exactly one.");
- return 0;
+ return 1;
}
this.pid = pids.get(0);
diff --git
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelSendAction.java
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelSendAction.java
index 747b8a6be403..b346525c3984 100644
---
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelSendAction.java
+++
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelSendAction.java
@@ -144,7 +144,7 @@ public class CamelSendAction extends ActionBaseCommand {
for (String h : headers) {
if (!h.contains("=")) {
printer().println("Header must be in key=value format,
was: " + h);
- return 0;
+ return 1;
}
}
}
@@ -211,7 +211,7 @@ public class CamelSendAction extends ActionBaseCommand {
if (pids.size() != 1) {
printer().println("Name or pid " + name + " matches " + pids.size()
+ " running Camel integrations. Specify a name
or PID that matches exactly one.");
- return 0;
+ return 1;
}
this.pid = pids.get(0);
diff --git
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelSourceAction.java
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelSourceAction.java
index 00c55fb70e94..19716a7beef3 100644
---
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelSourceAction.java
+++
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelSourceAction.java
@@ -59,11 +59,11 @@ public class CamelSourceAction extends ActionBaseCommand {
List<Long> pids = findPids(name);
if (pids.isEmpty()) {
- return 0;
+ return 1;
} else if (pids.size() > 1) {
printer().println("Name or pid " + name + " matches " + pids.size()
+ " running Camel integrations. Specify a name
or PID that matches exactly one.");
- return 0;
+ return 1;
}
this.pid = pids.get(0);
diff --git
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelSourceTop.java
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelSourceTop.java
index 056abeba550d..76f033c94305 100644
---
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelSourceTop.java
+++
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelSourceTop.java
@@ -57,11 +57,11 @@ public class CamelSourceTop extends ActionWatchCommand {
List<Long> pids = findPids(name);
if (pids.isEmpty()) {
- return 0;
+ return 1;
} else if (pids.size() > 1) {
printer().println("Name or pid " + name + " matches " + pids.size()
+ " running Camel integrations. Specify a name
or PID that matches exactly one.");
- return 0;
+ return 1;
}
this.pid = pids.get(0);
diff --git
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelStartupRecorderAction.java
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelStartupRecorderAction.java
index 47253bb0f9cc..48039860faf5 100644
---
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelStartupRecorderAction.java
+++
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelStartupRecorderAction.java
@@ -57,11 +57,11 @@ public class CamelStartupRecorderAction extends
ActionWatchCommand {
List<Long> pids = findPids(name);
if (pids.isEmpty()) {
- return 0;
+ return 1;
} else if (pids.size() > 1) {
printer().println("Name or pid " + name + " matches " + pids.size()
+ " running Camel integrations. Specify a name
or PID that matches exactly one.");
- return 0;
+ return 1;
}
this.pid = pids.get(0);
diff --git
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelStubAction.java
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelStubAction.java
index 00bd890fc3d6..18fb3bac0087 100644
---
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelStubAction.java
+++
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelStubAction.java
@@ -135,11 +135,11 @@ public class CamelStubAction extends ActionWatchCommand {
List<Long> pids = findPids(name);
if (pids.isEmpty()) {
- return 0;
+ return 1;
} else if (pids.size() > 1) {
printer().println("Name or pid " + name + " matches " + pids.size()
+ " running Camel integrations. Specify a name
or PID that matches exactly one.");
- return 0;
+ return 1;
}
this.pid = pids.get(0);
diff --git
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelThreadDump.java
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelThreadDump.java
index 8057f84607e2..fd3975e5e03f 100644
---
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelThreadDump.java
+++
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelThreadDump.java
@@ -99,11 +99,11 @@ public class CamelThreadDump extends ActionWatchCommand {
List<Long> pids = findPids(name);
if (pids.isEmpty()) {
- return 0;
+ return 1;
} else if (pids.size() > 1) {
printer().println("Name or pid " + name + " matches " + pids.size()
+ " running Camel integrations. Specify a name
or PID that matches exactly one.");
- return 0;
+ return 1;
}
// include stack-traces
diff --git
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/EvalExpressionCommand.java
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/EvalExpressionCommand.java
index e45d0104f820..b90a6d4ca201 100644
---
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/EvalExpressionCommand.java
+++
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/EvalExpressionCommand.java
@@ -154,7 +154,7 @@ public class EvalExpressionCommand extends
ActionWatchCommand {
JsonObject jo = new JsonObject();
if (!h.contains("=")) {
printer().println("Header must be in key=value format,
was: " + h);
- return 0;
+ return 1;
}
jo.put("key", StringHelper.before(h, "="));
jo.put("value", StringHelper.after(h, "="));
diff --git
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/RouteControllerAction.java
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/RouteControllerAction.java
index c6a780588951..7c5fa1fb64b4 100644
---
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/RouteControllerAction.java
+++
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/RouteControllerAction.java
@@ -84,11 +84,11 @@ public class RouteControllerAction extends
ActionWatchCommand {
List<Long> pids = findPids(name);
if (pids.isEmpty()) {
- return 0;
+ return 1;
} else if (pids.size() > 1) {
printer().println("Name or pid " + name + " matches " + pids.size()
+ " running Camel integrations. Specify a name
or PID that matches exactly one.");
- return 0;
+ return 1;
}
// include stack-traces
diff --git
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/TransformMessageAction.java
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/TransformMessageAction.java
index 081fcbf4dec3..78029b5020a4 100644
---
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/TransformMessageAction.java
+++
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/TransformMessageAction.java
@@ -220,7 +220,7 @@ public class TransformMessageAction extends
ActionWatchCommand {
JsonObject jo = new JsonObject();
if (!h.contains("=")) {
printer().println("Header must be in key=value format,
was: " + h);
- return 0;
+ return 1;
}
jo.put("key", StringHelper.before(h, "="));
jo.put("value", StringHelper.after(h, "="));
@@ -234,7 +234,7 @@ public class TransformMessageAction extends
ActionWatchCommand {
JsonObject jo = new JsonObject();
if (!h.contains("=")) {
printer().println("Option must be in key=value format,
was: " + h);
- return 0;
+ return 1;
}
jo.put("key", StringHelper.before(h, "="));
jo.put("value", StringHelper.after(h, "="));
diff --git
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/plugin/PluginDelete.java
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/plugin/PluginDelete.java
index dfbc3d909a57..2f54c2297d7e 100644
---
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/plugin/PluginDelete.java
+++
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/plugin/PluginDelete.java
@@ -43,6 +43,7 @@ public class PluginDelete extends PluginBaseCommand {
saveConfig(pluginConfig);
} else {
printer().printf("Plugin %s not found in configuration%n", name);
+ return 1;
}
return 0;
diff --git
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/Jolokia.java
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/Jolokia.java
index 74a78dc8a385..277f340e0092 100644
---
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/Jolokia.java
+++
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/process/Jolokia.java
@@ -51,11 +51,11 @@ public class Jolokia extends ProcessBaseCommand {
public Integer doCall() throws Exception {
List<Long> pids = findPids(name);
if (pids.isEmpty()) {
- return 0;
+ return 1;
} else if (pids.size() > 1) {
printer().println("Name or pid " + name + " matches " + pids.size()
+ " running Camel integrations. Specify a name
or PID that matches exactly one.");
- return 0;
+ return 1;
}
this.pid = pids.get(0);