Automated rollback of commit 9a00c789ea46dcb8c73e513ad1ba234a8417fff3.
*** Reason for rollback ***
Added fix for unconfigured dependencies causing analysis failure.
PiperOrigin-RevId: 310361242
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/AnalysisFailureEvent.java b/src/main/java/com/google/devtools/build/lib/analysis/AnalysisFailureEvent.java
index ea0e769..02c37bf 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/AnalysisFailureEvent.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/AnalysisFailureEvent.java
@@ -15,6 +15,7 @@
package com.google.devtools.build.lib.analysis;
import com.google.common.annotations.VisibleForTesting;
+import com.google.common.base.MoreObjects;
import com.google.common.collect.ImmutableList;
import com.google.common.collect.Iterables;
import com.google.devtools.build.lib.buildeventstream.BuildEvent;
@@ -51,6 +52,15 @@
this.rootCauses = rootCauses;
}
+ @Override
+ public String toString() {
+ return MoreObjects.toStringHelper(this)
+ .add("failedTarget", failedTarget)
+ .add("configuration", configuration)
+ .add("legacyFailureReason", getLegacyFailureReason())
+ .toString();
+ }
+
public ConfiguredTargetKey getFailedTarget() {
return failedTarget;
}
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/AnalysisRootCauseEvent.java b/src/main/java/com/google/devtools/build/lib/analysis/AnalysisRootCauseEvent.java
index 8556f82..7be2f31 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/AnalysisRootCauseEvent.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/AnalysisRootCauseEvent.java
@@ -25,7 +25,9 @@
import com.google.devtools.build.lib.buildeventstream.BuildEventWithConfiguration;
import com.google.devtools.build.lib.buildeventstream.GenericBuildEvent;
import com.google.devtools.build.lib.cmdline.Label;
+import java.util.ArrayList;
import java.util.Collection;
+import javax.annotation.Nullable;
/**
* Error message of an analysis root cause. This is separate from {@link AnalysisFailureEvent} to
@@ -38,7 +40,7 @@
private final String errorMessage;
public AnalysisRootCauseEvent(
- BuildConfiguration configuration, Label label, String errorMessage) {
+ @Nullable BuildConfiguration configuration, Label label, String errorMessage) {
this.configuration = configuration;
this.label = label;
this.errorMessage = errorMessage;
@@ -76,6 +78,12 @@
@Override
public Collection<BuildEvent> getConfigurations() {
- return ImmutableList.<BuildEvent>of(configuration.toBuildEvent());
+ ArrayList<BuildEvent> result = new ArrayList<>();
+ if (configuration == null) {
+ result.add(null);
+ } else {
+ result.add(configuration.toBuildEvent());
+ }
+ return result;
}
}
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/DependencyResolver.java b/src/main/java/com/google/devtools/build/lib/analysis/DependencyResolver.java
index 0958ed4..47c7131 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/DependencyResolver.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/DependencyResolver.java
@@ -261,7 +261,7 @@
throw new IllegalStateException(target.getLabel().toString());
}
- Map<Label, Target> targetMap = getTargets(outgoingLabels, target, rootCauses);
+ Map<Label, Target> targetMap = getTargets(outgoingLabels, node, rootCauses);
if (targetMap == null) {
// Dependencies could not be resolved. Try again when they are loaded by Skyframe.
return OrderedSetMultimap.create();
@@ -713,8 +713,7 @@
*/
protected abstract Map<Label, Target> getTargets(
OrderedSetMultimap<DependencyKind, Label> labelMap,
- Target fromTarget,
+ TargetAndConfiguration fromNode,
NestedSetBuilder<Cause> rootCauses)
throws InterruptedException;
-
}