diff options
author | janakr <janakr@google.com> | 2018-03-24 17:22:23 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-03-24 17:24:04 -0700 |
commit | 00408d666b8a61c80e41dcb7615ec9b625497e61 (patch) | |
tree | b63d0622d907c683525137b1b2a98dcb1cdf93f2 /src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java | |
parent | 738a2edcf811f9cc90e492f192f0d5cafcf93951 (diff) |
@AutoCodec ConfiguredValueCreationException. Not a high priority, but while we're getting spurious analysis errors, helps to reduce noise.
PiperOrigin-RevId: 190355369
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java | 49 |
1 files changed, 27 insertions, 22 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java b/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java index a4bb22fce0..d283a88dda 100644 --- a/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java +++ b/src/main/java/com/google/devtools/build/lib/skyframe/ConfiguredTargetFunction.java @@ -60,6 +60,7 @@ import com.google.devtools.build.lib.packages.TargetUtils; import com.google.devtools.build.lib.skyframe.AspectFunction.AspectCreationException; import com.google.devtools.build.lib.skyframe.SkyframeExecutor.BuildViewProvider; import com.google.devtools.build.lib.skyframe.ToolchainUtil.ToolchainContextException; +import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec; import com.google.devtools.build.lib.syntax.EvalException; import com.google.devtools.build.lib.util.OrderedSetMultimap; import com.google.devtools.build.skyframe.SkyFunction; @@ -782,46 +783,50 @@ public final class ConfiguredTargetFunction implements SkyFunction { } /** - * An exception indicating that there was a problem during the construction of - * a ConfiguredTargetValue. + * An exception indicating that there was a problem during the construction of a + * ConfiguredTargetValue. */ + @AutoCodec public static final class ConfiguredValueCreationException extends Exception { private final NestedSet<Label> loadingRootCauses; // TODO(ulfjack): Collect all analysis root causes, not just the first one. @Nullable private final Label analysisRootCause; @Nullable private final BuildEventId configuration; - public ConfiguredValueCreationException( + private ConfiguredValueCreationException( String message, Label currentTarget, BuildConfiguration configuration) { + this( + message, + Preconditions.checkNotNull(currentTarget), + NestedSetBuilder.<Label>emptySet(Order.STABLE_ORDER), + configuration == null ? null : configuration.getEventId()); + } + + @AutoCodec.VisibleForSerialization + @AutoCodec.Instantiator + ConfiguredValueCreationException( + String message, + Label analysisRootCause, + NestedSet<Label> loadingRootCauses, + BuildEventId configuration) { super(message); - this.loadingRootCauses = NestedSetBuilder.<Label>emptySet(Order.STABLE_ORDER); - this.analysisRootCause = Preconditions.checkNotNull(currentTarget); - if (configuration != null) { - this.configuration = configuration.getEventId(); - } else { - this.configuration = null; - } + this.loadingRootCauses = loadingRootCauses; + this.analysisRootCause = analysisRootCause; + this.configuration = configuration; } - public ConfiguredValueCreationException(String message, Label currentTarget) { - this(message, currentTarget, null); + private ConfiguredValueCreationException(String message, Label currentTarget) { + this(message, currentTarget, /*configuration=*/ null); } - public ConfiguredValueCreationException(String message, NestedSet<Label> rootCauses) { - super(message); - this.loadingRootCauses = rootCauses; - this.analysisRootCause = null; - this.configuration = null; + private ConfiguredValueCreationException(String message, NestedSet<Label> rootCauses) { + this(message, /*analysisRootCause=*/ null, rootCauses, /*configuration=*/ null); } - public ConfiguredValueCreationException(NestedSet<Label> rootCauses) { + private ConfiguredValueCreationException(NestedSet<Label> rootCauses) { this("Loading failed", rootCauses); } - public ConfiguredValueCreationException(String message) { - this(message, NestedSetBuilder.<Label>emptySet(Order.STABLE_ORDER)); - } - public NestedSet<Label> getRootCauses() { return loadingRootCauses; } |