This is an automated email from the ASF dual-hosted git repository.

gnodet pushed a commit to branch CAMEL-23226-standardize-error-output
in repository https://gitbox.apache.org/repos/asf/camel.git

commit ad6a95b4876a4ab53327a6c1ce10aef81076474d
Author: Guillaume Nodet <[email protected]>
AuthorDate: Sat Mar 21 10:09:19 2026 +0100

    CAMEL-23226: Standardize error output to use printErr() in camel-jbang 
commands
    
    Co-Authored-By: Claude Opus 4.6 <[email protected]>
---
 .../camel/dsl/jbang/core/commands/DependencyRuntime.java       |  2 +-
 .../java/org/apache/camel/dsl/jbang/core/commands/Run.java     |  6 +++---
 .../dsl/jbang/core/commands/action/CamelReceiveAction.java     |  4 ++--
 .../camel/dsl/jbang/core/commands/action/CamelSendAction.java  |  4 ++--
 .../dsl/jbang/core/commands/action/EvalExpressionCommand.java  |  2 +-
 .../dsl/jbang/core/commands/action/TransformMessageAction.java |  4 ++--
 .../camel/dsl/jbang/core/commands/catalog/CatalogDoc.java      | 10 ++++++----
 .../apache/camel/dsl/jbang/core/commands/config/ConfigGet.java |  2 +-
 .../apache/camel/dsl/jbang/core/commands/infra/InfraLog.java   |  2 +-
 .../apache/camel/dsl/jbang/core/commands/infra/InfraRun.java   |  6 +++---
 .../camel/dsl/jbang/core/commands/plugin/PluginDelete.java     |  2 +-
 .../apache/camel/dsl/jbang/core/commands/update/UpdateRun.java |  4 ++--
 .../camel/dsl/jbang/core/commands/version/VersionList.java     |  2 +-
 .../camel/dsl/jbang/core/commands/config/ConfigGetTest.java    |  2 +-
 .../camel/dsl/jbang/core/commands/plugin/PluginDeleteTest.java |  2 +-
 15 files changed, 28 insertions(+), 26 deletions(-)

diff --git 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/DependencyRuntime.java
 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/DependencyRuntime.java
index 97aa6ef1d796..37a561584f8f 100644
--- 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/DependencyRuntime.java
+++ 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/DependencyRuntime.java
@@ -57,7 +57,7 @@ public class DependencyRuntime extends CamelCommand {
     public Integer doCall() throws Exception {
         // read pom.xml
         if (!Files.exists(pomXml)) {
-            printer().println(String.format("Cannot find %s", pomXml));
+            printer().printErr(String.format("Cannot find %s", pomXml));
             return 1;
         }
 
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 1b5d3a19157e..3193afadbf6b 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
@@ -518,7 +518,7 @@ public class Run extends CamelCommand {
             try {
                 Files.createDirectories(work);
             } catch (IOException e) {
-                printer().println("WARN: Failed to create working directory: " 
+ work.toAbsolutePath());
+                printer().printErr("Failed to create working directory: " + 
work.toAbsolutePath());
             }
         }
 
@@ -1100,7 +1100,7 @@ public class Run extends CamelCommand {
 
     protected int runQuarkus() throws Exception {
         if (background) {
-            printer().println("Run Camel Quarkus with --background is not 
supported");
+            printer().printErr("Run Camel Quarkus with --background is not 
supported");
             return 1;
         }
 
@@ -1206,7 +1206,7 @@ public class Run extends CamelCommand {
 
     protected int runSpringBoot() throws Exception {
         if (background) {
-            printer().println("Run Camel Spring Boot with --background is not 
supported");
+            printer().printErr("Run Camel Spring Boot with --background is not 
supported");
             return 1;
         }
 
diff --git 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReceiveAction.java
 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReceiveAction.java
index c9c8cd9d297f..0dcc1c618190 100644
--- 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReceiveAction.java
+++ 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/action/CamelReceiveAction.java
@@ -368,10 +368,10 @@ public class CamelReceiveAction extends ActionBaseCommand 
{
                 String url = jo.getString("url");
                 List<String> stackTrace = jo.getCollection("stackTrace");
                 if (url != null) {
-                    printer().println("Error starting to receive messages 
from: " + url + " due to: " + error);
+                    printer().printErr("Error starting to receive messages 
from: " + url + " due to: " + error);
 
                 } else {
-                    printer().println("Error starting to receive messages due 
to: " + error);
+                    printer().printErr("Error starting to receive messages due 
to: " + error);
                 }
                 printer().println(StringHelper.fillChars('-', 120));
                 printer().println(StringHelper.padString(1, 55) + 
"STACK-TRACE");
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..c7b546d37c95 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
@@ -143,7 +143,7 @@ public class CamelSendAction extends ActionBaseCommand {
         if (headers != null) {
             for (String h : headers) {
                 if (!h.contains("=")) {
-                    printer().println("Header must be in key=value format, 
was: " + h);
+                    printer().printErr("Header must be in key=value format, 
was: " + h);
                     return 0;
                 }
             }
@@ -423,7 +423,7 @@ public class CamelSendAction extends ActionBaseCommand {
         JsonObject connectionDetails = readConnectionDetails(jsonFile);
 
         if (connectionDetails == null) {
-            printer().println("Could not read connection details from: " + 
jsonFile);
+            printer().printErr("Could not read connection details from: " + 
jsonFile);
             return 1;
         }
 
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..2ef6a320a547 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
@@ -153,7 +153,7 @@ public class EvalExpressionCommand extends 
ActionWatchCommand {
             for (String h : headers) {
                 JsonObject jo = new JsonObject();
                 if (!h.contains("=")) {
-                    printer().println("Header must be in key=value format, 
was: " + h);
+                    printer().printErr("Header must be in key=value format, 
was: " + h);
                     return 0;
                 }
                 jo.put("key", StringHelper.before(h, "="));
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..65190a693366 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
@@ -219,7 +219,7 @@ public class TransformMessageAction extends 
ActionWatchCommand {
             for (String h : headers) {
                 JsonObject jo = new JsonObject();
                 if (!h.contains("=")) {
-                    printer().println("Header must be in key=value format, 
was: " + h);
+                    printer().printErr("Header must be in key=value format, 
was: " + h);
                     return 0;
                 }
                 jo.put("key", StringHelper.before(h, "="));
@@ -233,7 +233,7 @@ public class TransformMessageAction extends 
ActionWatchCommand {
             for (String h : options) {
                 JsonObject jo = new JsonObject();
                 if (!h.contains("=")) {
-                    printer().println("Option must be in key=value format, 
was: " + h);
+                    printer().printErr("Option must be in key=value format, 
was: " + h);
                     return 0;
                 }
                 jo.put("key", StringHelper.before(h, "="));
diff --git 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogDoc.java
 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogDoc.java
index 55786090d359..2416a4ab6952 100644
--- 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogDoc.java
+++ 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/catalog/CatalogDoc.java
@@ -194,9 +194,10 @@ public class CatalogDoc extends CamelCommand {
             }
             if (!suggestions.isEmpty()) {
                 String type = kamelet ? "kamelet" : "component";
-                printer().printf("Camel %s: %s not found. Did you mean? %s%n", 
type, name, String.join(", ", suggestions));
+                printer().printErr(
+                        "Camel %s: %s not found. Did you mean? 
%s".formatted(type, name, String.join(", ", suggestions)));
             } else {
-                printer().println("Camel resource: " + name + " not found");
+                printer().printErr("Camel resource: " + name + " not found");
             }
         } else {
             List<String> suggestions = switch (prefix) {
@@ -209,9 +210,10 @@ public class CatalogDoc extends CamelCommand {
                 default -> List.of();
             };
             if (!suggestions.isEmpty()) {
-                printer().printf("Camel %s: %s not found. Did you mean? %s%n", 
prefix, name, String.join(", ", suggestions));
+                printer().printErr(
+                        "Camel %s: %s not found. Did you mean? 
%s".formatted(prefix, name, String.join(", ", suggestions)));
             } else {
-                printer().printf("Camel %s: %s not found.%n", prefix, name);
+                printer().printErr("Camel %s: %s not found.".formatted(prefix, 
name));
             }
         }
         return 1;
diff --git 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/config/ConfigGet.java
 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/config/ConfigGet.java
index 0e8c44ad9225..1331e5d48a78 100644
--- 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/config/ConfigGet.java
+++ 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/config/ConfigGet.java
@@ -44,7 +44,7 @@ public class ConfigGet extends CamelCommand {
             if (maybeProperty.isPresent()) {
                 printer().println(String.valueOf(maybeProperty.get()));
             } else {
-                printer().println(key + " key not found");
+                printer().printErr(key + " key not found");
             }
         }, !global);
 
diff --git 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/infra/InfraLog.java
 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/infra/InfraLog.java
index cbf9f0492243..5204e1995c1e 100644
--- 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/infra/InfraLog.java
+++ 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/infra/InfraLog.java
@@ -93,7 +93,7 @@ public class InfraLog extends InfraBaseCommand {
             }
 
             if (logFile == null) {
-                printer().println("Log not found for service " + alias);
+                printer().printErr("Log not found for service " + alias);
                 return -1;
             }
 
diff --git 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/infra/InfraRun.java
 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/infra/InfraRun.java
index 73031d75006d..073ab2ed5a31 100644
--- 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/infra/InfraRun.java
+++ 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/infra/InfraRun.java
@@ -100,10 +100,10 @@ public class InfraRun extends InfraBaseCommand {
         if (testInfraService == null) {
             String message = ", use the list command for the available 
services";
             if (testServiceImplementation != null) {
-                printer().println("service " + testService + " with 
implementation " + testServiceImplementation + " not found"
-                                  + message);
+                printer().printErr("service " + testService + " with 
implementation " + testServiceImplementation + " not found"
+                                   + message);
             }
-            printer().println("service " + testService + " not found" + 
message);
+            printer().printErr("service " + testService + " not found" + 
message);
             return 1;
         }
 
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..8a97e14be39c 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
@@ -42,7 +42,7 @@ public class PluginDelete extends PluginBaseCommand {
             printer().printf("Plugin %s removed%n", name);
             saveConfig(pluginConfig);
         } else {
-            printer().printf("Plugin %s not found in configuration%n", name);
+            printer().printErr("Plugin %s not found in 
configuration".formatted(name));
         }
 
         return 0;
diff --git 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/update/UpdateRun.java
 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/update/UpdateRun.java
index c2b16665cdba..0f5dfc7add99 100644
--- 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/update/UpdateRun.java
+++ 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/update/UpdateRun.java
@@ -85,11 +85,11 @@ public class UpdateRun extends CamelCommand {
                     command = update.command();
                 }
             } catch (CamelUpdateException ex) {
-                printer().println(ex.getMessage());
+                printer().printErr(ex.getMessage());
 
                 return -1;
             } catch (DownloadException e) {
-                printer().println(String.format("Cannot find Camel Upgrade 
Recipes %s:%s:%s",
+                printer().printErr(String.format("Cannot find Camel Upgrade 
Recipes %s:%s:%s",
                         "org.apache.camel.upgrade", 
update.getArtifactCoordinates(), updateMixin.version));
 
                 return -1;
diff --git 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/version/VersionList.java
 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/version/VersionList.java
index 049b3017e9f4..50b4291067ff 100644
--- 
a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/version/VersionList.java
+++ 
b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/version/VersionList.java
@@ -391,7 +391,7 @@ public class VersionList extends CamelCommand {
 
             main.stop();
         } catch (Exception e) {
-            printer().println("Error downloading available Camel versions due 
to: " + e.getMessage());
+            printer().printErr("Error downloading available Camel versions due 
to: " + e.getMessage());
             return 1;
         }
 
diff --git 
a/dsl/camel-jbang/camel-jbang-core/src/test/java/org/apache/camel/dsl/jbang/core/commands/config/ConfigGetTest.java
 
b/dsl/camel-jbang/camel-jbang-core/src/test/java/org/apache/camel/dsl/jbang/core/commands/config/ConfigGetTest.java
index f04d74becab8..8f6603ac4d6f 100644
--- 
a/dsl/camel-jbang/camel-jbang-core/src/test/java/org/apache/camel/dsl/jbang/core/commands/config/ConfigGetTest.java
+++ 
b/dsl/camel-jbang/camel-jbang-core/src/test/java/org/apache/camel/dsl/jbang/core/commands/config/ConfigGetTest.java
@@ -43,7 +43,7 @@ class ConfigGetTest extends BaseConfigTestSupport {
         command.key = "foo";
         command.doCall();
 
-        Assertions.assertEquals("foo key not found", printer.getOutput());
+        Assertions.assertEquals("ERROR: foo key not found", 
printer.getOutput());
     }
 
     @Test
diff --git 
a/dsl/camel-jbang/camel-jbang-core/src/test/java/org/apache/camel/dsl/jbang/core/commands/plugin/PluginDeleteTest.java
 
b/dsl/camel-jbang/camel-jbang-core/src/test/java/org/apache/camel/dsl/jbang/core/commands/plugin/PluginDeleteTest.java
index 11ae7b5a2ad8..2c289d6aa6b0 100644
--- 
a/dsl/camel-jbang/camel-jbang-core/src/test/java/org/apache/camel/dsl/jbang/core/commands/plugin/PluginDeleteTest.java
+++ 
b/dsl/camel-jbang/camel-jbang-core/src/test/java/org/apache/camel/dsl/jbang/core/commands/plugin/PluginDeleteTest.java
@@ -54,7 +54,7 @@ class PluginDeleteTest extends CamelCommandBaseTestSupport {
         command.name = "foo";
         command.doCall();
 
-        Assertions.assertEquals("Plugin foo not found in configuration", 
printer.getOutput());
+        Assertions.assertEquals("ERROR: Plugin foo not found in 
configuration", printer.getOutput());
 
         Assertions.assertEquals("{\"plugins\":{}}", 
PluginHelper.getOrCreatePluginConfig().toJson());
     }

Reply via email to