aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeLabelVisitor.java
diff options
context:
space:
mode:
authorGravatar Klaus Aehlig <aehlig@google.com>2017-02-24 16:30:15 +0000
committerGravatar Yue Gan <yueg@google.com>2017-02-27 15:05:00 +0000
commit777b30d06700f76ba580715429f3663de3fa0529 (patch)
treed3abdc6f42d04256c486270add24e5b0c5d3abbd /src/main/java/com/google/devtools/build/lib/skyframe/SkyframeLabelVisitor.java
parent25aa033ad5657a5cfa16e8307464648b9374be2d (diff)
Provide more reporting options to SkyFunctions
With more specific information to be reported by Skyfunctions, e.g., to inform the build-event protocol on missing files, the EventHandler interface is no longer enough. Therefore, provide an enriched context for reporting events. -- Change-Id: I2d06166fe4d5b9054e24ad8c752fafc039e3f9f8 Reviewed-on: https://cr.bazel.build/8794 PiperOrigin-RevId: 148463437 MOS_MIGRATED_REVID=148463437
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/SkyframeLabelVisitor.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/SkyframeLabelVisitor.java16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeLabelVisitor.java b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeLabelVisitor.java
index 6b1e6ca28c..742d2fa2d9 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeLabelVisitor.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeLabelVisitor.java
@@ -16,7 +16,7 @@ package com.google.devtools.build.lib.skyframe;
import com.google.common.collect.Iterables;
import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.events.Event;
-import com.google.devtools.build.lib.events.EventHandler;
+import com.google.devtools.build.lib.events.ExtendedEventHandler;
import com.google.devtools.build.lib.pkgcache.TransitivePackageLoader;
import com.google.devtools.build.lib.skyframe.SkyframeExecutor.SkyframeTransitivePackageLoader;
import com.google.devtools.build.lib.util.Preconditions;
@@ -45,8 +45,12 @@ final class SkyframeLabelVisitor implements TransitivePackageLoader {
// The only remaining non-test caller of this code is BlazeQueryEnvironment.
@Override
- public boolean sync(EventHandler eventHandler, Set<Label> labelsToVisit, boolean keepGoing,
- int parallelThreads) throws InterruptedException {
+ public boolean sync(
+ ExtendedEventHandler eventHandler,
+ Set<Label> labelsToVisit,
+ boolean keepGoing,
+ int parallelThreads)
+ throws InterruptedException {
EvaluationResult<TransitiveTargetValue> result = transitivePackageLoader.loadTransitiveTargets(
eventHandler, labelsToVisit, keepGoing, parallelThreads);
@@ -121,14 +125,14 @@ final class SkyframeLabelVisitor implements TransitivePackageLoader {
&& Iterables.contains(errorInfo.getRootCauses(), TransitiveTargetValue.key(label));
}
- private static void errorAboutLoadingFailure(Label topLevelLabel, @Nullable Throwable throwable,
- EventHandler eventHandler) {
+ private static void errorAboutLoadingFailure(
+ Label topLevelLabel, @Nullable Throwable throwable, ExtendedEventHandler eventHandler) {
eventHandler.handle(Event.error(
"Loading of target '" + topLevelLabel + "' failed; build aborted" +
(throwable == null ? "" : ": " + throwable.getMessage())));
}
- private static void warnAboutLoadingFailure(Label label, EventHandler eventHandler) {
+ private static void warnAboutLoadingFailure(Label label, ExtendedEventHandler eventHandler) {
eventHandler.handle(Event.warn("errors encountered while loading target '" + label + "'"));
}
}