Claus Ibsen created CAMEL-25389:
-----------------------------------
Summary: camel-jbang - Exit code contract, stderr for errors,
central error handling
Key: CAMEL-25389
URL: https://issues.apache.org/jira/browse/CAMEL-25389
Project: Camel
Issue Type: Sub-task
Components: camel-jbang
Reporter: Claus Ibsen
Assignee: Claus Ibsen
Fix For: 4.24.0
* Add {{CliExitCode}} constants (0,1,2,3,4,70) and {{CliException(code,
message)}}.
* Install a picocli execution-exception handler and exit-code mapper in
{{CamelJBangMain}}: {{CliException}} prints one {{ERROR:}} line on stderr;
other exceptions exit 70 with stack trace on stderr; stack traces for 1/3/4
only with {{CAMEL_DEBUG=true}}/{{--verbose}}.
* {{Printer}} gets an error channel ({{printErr}}, {{printWarn}}, {{printTip}})
that goes to stderr; {{StringPrinter}} captures stdout and stderr separately.
* Move the ~25 {{println("Error: ...")}} sites to {{printErr}}, and non-error
text out of {{printErr}} (e.g. {{transform dataweave}} summary).
* "Plugins (not installed)" banner: stderr, and suppressed without a TTY.
* Unknown command matching a plugin name must not exit 0 after auto-installing.
* Parent commands ({{transform}}, {{eval}}, {{catalog}}, {{cmd}}, {{config}},
{{infra}}, {{plugin}}, {{update}}, {{version}}, {{dependency}}) use their own
{{CommandLine}} so help lists subcommands and the child's exit code propagates.
* Replace {{return -1}} (exit 255) with proper codes.
* New docs page "Exit codes and machine-readable output"; create
{{camel-4x-upgrade-guide-4_24.adoc}} entry.
_Claude Code on behalf of davsclaus (Claus Ibsen)_
--
This message was sent by Atlassian Jira
(v8.20.10#820010)