From d83af9e7eb5e3948500a525f30616c3a03205bb8 Mon Sep 17 00:00:00 2001 From: Dmitry Lomov Date: Thu, 23 Feb 2017 15:44:23 +0000 Subject: Report inconsistent aspect order error to the user. -- PiperOrigin-RevId: 148342788 MOS_MIGRATED_REVID=148342788 --- .../com/google/devtools/build/lib/skyframe/AspectFunction.java | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/AspectFunction.java') 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); + } } } -- cgit v1.2.3