Add detailed exit code to CommandCompleteEvent, and make sure that crash failure details from the throwable triggering the crash are added.
PiperOrigin-RevId: 305885101
diff --git a/src/main/java/com/google/devtools/build/lib/util/DetailedExitCode.java b/src/main/java/com/google/devtools/build/lib/util/DetailedExitCode.java
index 6e43c3b..ebc0c95 100644
--- a/src/main/java/com/google/devtools/build/lib/util/DetailedExitCode.java
+++ b/src/main/java/com/google/devtools/build/lib/util/DetailedExitCode.java
@@ -24,6 +24,7 @@
import com.google.protobuf.MessageOrBuilder;
import java.util.Comparator;
import java.util.Map;
+import java.util.Objects;
import javax.annotation.Nullable;
/** An {@link ExitCode} and an optional {@link FailureDetail}. */
@@ -101,6 +102,24 @@
}
@Override
+ public int hashCode() {
+ return Objects.hash(exitCode, failureDetail);
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (!(obj instanceof DetailedExitCode)) {
+ return false;
+ }
+ DetailedExitCode that = (DetailedExitCode) obj;
+ return this.exitCode.equals(that.exitCode)
+ && Objects.equals(this.failureDetail, that.failureDetail);
+ }
+
+ @Override
public String toString() {
return String.format(
"DetailedExitCode{exitCode=%s, failureDetail=%s}", exitCode, failureDetail);