Report inconsistent aspect order error to the user.
--
PiperOrigin-RevId: 148342788
MOS_MIGRATED_REVID=148342788
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/AspectFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/AspectFunction.java
index 3d5aa88..71f6912 100644
--- a/src/main/java/com/google/devtools/build/lib/skyframe/AspectFunction.java
+++ b/src/main/java/com/google/devtools/build/lib/skyframe/AspectFunction.java
@@ -21,6 +21,7 @@
import com.google.devtools.build.lib.analysis.ConfiguredAspect;
import com.google.devtools.build.lib.analysis.ConfiguredAspectFactory;
import com.google.devtools.build.lib.analysis.ConfiguredTarget;
+import com.google.devtools.build.lib.analysis.DependencyResolver.InconsistentAspectOrderException;
import com.google.devtools.build.lib.analysis.MergedConfiguredTarget;
import com.google.devtools.build.lib.analysis.MergedConfiguredTarget.DuplicateException;
import com.google.devtools.build.lib.analysis.TargetAndConfiguration;
@@ -304,6 +305,10 @@
ConfiguredValueCreationException cause = (ConfiguredValueCreationException) e.getCause();
throw new AspectFunctionException(new AspectCreationException(
cause.getMessage(), cause.getAnalysisRootCause()));
+ } else if (e.getCause() instanceof InconsistentAspectOrderException) {
+ InconsistentAspectOrderException cause = (InconsistentAspectOrderException) e.getCause();
+ throw new AspectFunctionException(new AspectCreationException(
+ cause.getMessage()));
} else {
// Cast to InvalidConfigurationException as a consistency check. If you add any
// DependencyEvaluationException constructors, you may need to change this code, too.
@@ -519,5 +524,9 @@
public AspectFunctionException(AspectCreationException e) {
super(e, Transience.PERSISTENT);
}
+
+ public AspectFunctionException(InconsistentAspectOrderException cause) {
+ super(cause, Transience.PERSISTENT);
+ }
}
}