aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/skyframe/AspectFunction.java
diff options
context:
space:
mode:
authorGravatar Dmitry Lomov <dslomov@google.com>2017-02-23 15:44:23 +0000
committerGravatar Irina Iancu <elenairina@google.com>2017-02-24 08:28:49 +0000
commitd83af9e7eb5e3948500a525f30616c3a03205bb8 (patch)
tree7f98709a60b44e3c520d9ea1dba5b0c2b7818a4f /src/main/java/com/google/devtools/build/lib/skyframe/AspectFunction.java
parente64ed19eeb50222c6c8b7935e3d66a6090a03999 (diff)
Report inconsistent aspect order error to the user.
-- PiperOrigin-RevId: 148342788 MOS_MIGRATED_REVID=148342788
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/AspectFunction.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/skyframe/AspectFunction.java9
1 files changed, 9 insertions, 0 deletions
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 3d5aa88e92..71f691255b 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.CachingAnalysisEnvironment;
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 @@ public final class AspectFunction implements SkyFunction {
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 final class AspectFunction implements SkyFunction {
public AspectFunctionException(AspectCreationException e) {
super(e, Transience.PERSISTENT);
}
+
+ public AspectFunctionException(InconsistentAspectOrderException cause) {
+ super(cause, Transience.PERSISTENT);
+ }
}
}