aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/pkgcache
diff options
context:
space:
mode:
authorGravatar ulfjack <ulfjack@google.com>2018-05-29 05:17:35 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-05-29 05:18:35 -0700
commit904a8d63833301f54c7df85bccc56ff67156afc5 (patch)
tree3e272496bee7dee8f2d9c4690128e4f13cb323fe /src/main/java/com/google/devtools/build/lib/pkgcache
parentab2431e1ef62d91230fdef49b2556bbe60c9de56 (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.java27
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);
+ }
}