From fd4c22cde6800a485461f61475162326eef6923e Mon Sep 17 00:00:00 2001 From: Paul Schaub Date: Sun, 6 Nov 2022 14:41:52 +0100 Subject: [PATCH] Add --stacktrace option --- .../java/sop/cli/picocli/SOPExecutionExceptionHandler.java | 7 ++++++- sop-java-picocli/src/main/java/sop/cli/picocli/SopCLI.java | 4 ++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/sop-java-picocli/src/main/java/sop/cli/picocli/SOPExecutionExceptionHandler.java b/sop-java-picocli/src/main/java/sop/cli/picocli/SOPExecutionExceptionHandler.java index c0cabea..f6906ff 100644 --- a/sop-java-picocli/src/main/java/sop/cli/picocli/SOPExecutionExceptionHandler.java +++ b/sop-java-picocli/src/main/java/sop/cli/picocli/SOPExecutionExceptionHandler.java @@ -19,8 +19,13 @@ public class SOPExecutionExceptionHandler implements CommandLine.IExecutionExcep // CHECKSTYLE:OFF if (ex.getMessage() != null) { commandLine.getErr().println(colorScheme.errorText(ex.getMessage())); + } else { + commandLine.getErr().println(ex.getClass().getName()); + } + + if (SopCLI.stacktrace) { + ex.printStackTrace(commandLine.getErr()); } - ex.printStackTrace(commandLine.getErr()); // CHECKSTYLE:ON return exitCode; diff --git a/sop-java-picocli/src/main/java/sop/cli/picocli/SopCLI.java b/sop-java-picocli/src/main/java/sop/cli/picocli/SopCLI.java index 4e3d587..2019f93 100644 --- a/sop-java-picocli/src/main/java/sop/cli/picocli/SopCLI.java +++ b/sop-java-picocli/src/main/java/sop/cli/picocli/SopCLI.java @@ -52,6 +52,10 @@ public class SopCLI { public static String EXECUTABLE_NAME = "sop"; + @CommandLine.Option(names = {"--stacktrace"}, description = "Print Stacktrace", + scope = CommandLine.ScopeType.INHERIT) + static boolean stacktrace; + public static void main(String[] args) { int exitCode = execute(args); if (exitCode != 0) {