diff options
author | 2018-05-29 05:17:35 -0700 | |
---|---|---|
committer | 2018-05-29 05:18:35 -0700 | |
commit | 904a8d63833301f54c7df85bccc56ff67156afc5 (patch) | |
tree | 3e272496bee7dee8f2d9c4690128e4f13cb323fe /src/main/java/com/google/devtools/build/lib/pkgcache | |
parent | ab2431e1ef62d91230fdef49b2556bbe60c9de56 (diff) |
Refactor root cause reporting in ConfiguredTargetFunction
We now track Causes instead of plain Labels, which will allow us to do better reporting in the future. Add basic tests.
PiperOrigin-RevId: 198380468
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/pkgcache')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/pkgcache/LoadingFailureEvent.java | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/pkgcache/LoadingFailureEvent.java b/src/main/java/com/google/devtools/build/lib/pkgcache/LoadingFailureEvent.java index 45305d2075..4ee722fcd4 100644 --- a/src/main/java/com/google/devtools/build/lib/pkgcache/LoadingFailureEvent.java +++ b/src/main/java/com/google/devtools/build/lib/pkgcache/LoadingFailureEvent.java @@ -13,7 +13,9 @@ // limitations under the License. package com.google.devtools.build.lib.pkgcache; +import com.google.common.base.MoreObjects; import com.google.devtools.build.lib.cmdline.Label; +import java.util.Objects; /** * This event is fired during the build, when it becomes known that the loading @@ -29,6 +31,14 @@ public class LoadingFailureEvent { this.failureReason = failureReason; } + @Override + public String toString() { + return MoreObjects.toStringHelper(this) + .add("failedTarget", failedTarget) + .add("failureReason", failureReason) + .toString(); + } + public Label getFailedTarget() { return failedTarget; } @@ -36,4 +46,21 @@ public class LoadingFailureEvent { public Label getFailureReason() { return failureReason; } + + @Override + public boolean equals(Object o) { + if (this == o) { + return true; + } else if (!(o instanceof LoadingFailureEvent)) { + return false; + } + LoadingFailureEvent a = (LoadingFailureEvent) o; + return Objects.equals(failedTarget, a.failedTarget) + && Objects.equals(failureReason, a.failureReason); + } + + @Override + public int hashCode() { + return Objects.hash(failedTarget, failureReason); + } } |