aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeBuildView.java
diff options
context:
space:
mode:
authorGravatar Klaus Aehlig <aehlig@google.com>2018-01-26 02:19:58 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2018-01-26 02:22:03 -0800
commitfbdeffed9f2bd3f2eca1335c60fc04c82a2524a9 (patch)
tree403497a515479569e1003d93fa2b0cb2161a1314 /src/main/java/com/google/devtools/build/lib/skyframe/SkyframeBuildView.java
parent8e86b9b0aafcd294cb18b51fe3403d69b2f210f1 (diff)
BEP: report analysis failure events
...as completion of the respective top-level targets. In this way, a failure is associated to its root cause, even if the cause is at analysis phase; in particular, visibility errors are correctly associated. For the time beeing, we associate visibility root causes only with labels; it is planned to change that to the more accurate configured labels in a follow-up change. Change-Id: I04121a7cd2099fc65171eae0719fd77b98aef09b PiperOrigin-RevId: 183359798
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/SkyframeBuildView.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/SkyframeBuildView.java4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeBuildView.java b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeBuildView.java
index 118a636294..f20c99ab6b 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeBuildView.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/SkyframeBuildView.java
@@ -48,6 +48,7 @@ import com.google.devtools.build.lib.analysis.config.BuildConfiguration;
import com.google.devtools.build.lib.analysis.config.BuildConfigurationCollection;
import com.google.devtools.build.lib.analysis.config.ConfigMatchingProvider;
import com.google.devtools.build.lib.analysis.config.FragmentClassSet;
+import com.google.devtools.build.lib.buildeventstream.BuildEventId;
import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder;
import com.google.devtools.build.lib.events.Event;
@@ -329,6 +330,7 @@ public final class SkyframeBuildView {
eventHandler);
Exception cause = errorInfo.getException();
Label analysisRootCause = null;
+ BuildEventId configuration = null;
if (cause instanceof ConfiguredValueCreationException) {
ConfiguredValueCreationException ctCause = (ConfiguredValueCreationException) cause;
for (Label rootCause : ctCause.getRootCauses()) {
@@ -336,6 +338,7 @@ public final class SkyframeBuildView {
eventBus.post(new LoadingFailureEvent(topLevelLabel, rootCause));
}
analysisRootCause = ctCause.getAnalysisRootCause();
+ configuration = ctCause.getConfiguration();
} else if (!Iterables.isEmpty(errorInfo.getCycleInfo())) {
analysisRootCause = maybeGetConfiguredTargetCycleCulprit(
topLevelLabel, errorInfo.getCycleInfo());
@@ -350,6 +353,7 @@ public final class SkyframeBuildView {
new AnalysisFailureEvent(
ConfiguredTargetKey.of(
topLevelLabel, label.getConfigurationKey(), label.isHostConfiguration()),
+ configuration,
analysisRootCause));
}
}