From 102d3d358651d4997b2d59f7d7508b304e4e8559 Mon Sep 17 00:00:00 2001 From: "Erik C. Thauvin" Date: Fri, 15 Sep 2023 05:44:19 -0700 Subject: [PATCH] Preserved stacktrace --- .../java/rife/bld/operations/PublishOperation.java | 4 ++-- .../bld/operations/exceptions/SignException.java | 12 +++++++++--- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/src/main/java/rife/bld/operations/PublishOperation.java b/src/main/java/rife/bld/operations/PublishOperation.java index 537c3c4..69109df 100644 --- a/src/main/java/rife/bld/operations/PublishOperation.java +++ b/src/main/java/rife/bld/operations/PublishOperation.java @@ -348,12 +348,12 @@ public class PublishOperation extends AbstractOperation { try { process.waitFor(); } catch (InterruptedException e) { - throw new SignException(file, e.getMessage()); + throw new SignException(file, e); } if (process.exitValue() != 0) { var error = FileUtils.readString(process.getErrorStream()); - throw new SignException(file, error); + throw new SignException(file); } return FileUtils.readString(process.getInputStream()); } diff --git a/src/main/java/rife/bld/operations/exceptions/SignException.java b/src/main/java/rife/bld/operations/exceptions/SignException.java index eab071d..e3de0fc 100644 --- a/src/main/java/rife/bld/operations/exceptions/SignException.java +++ b/src/main/java/rife/bld/operations/exceptions/SignException.java @@ -19,10 +19,16 @@ public class SignException extends RuntimeException { private final File file_; private final String reason_; - public SignException(File file, String reason) { - super("An error occurred while signing '" + file + "':\n" + reason); + public SignException(File file) { + this(file, null); + } + + public SignException(File file, Throwable reason) { + super("An error occurred while signing '" + file, reason); file_ = file; - reason_ = reason; + if (reason.getCause() != null && reason.getCause().getMessage() != null) + reason_ = reason.getCause().getMessage(); + else reason_ = ""; } public File getFile() {