diff options
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/AliasConfiguredTarget.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/AliasConfiguredTarget.java | 25 |
1 files changed, 21 insertions, 4 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/AliasConfiguredTarget.java b/src/main/java/com/google/devtools/build/lib/rules/AliasConfiguredTarget.java index d591aa2dc1..41558655f3 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/AliasConfiguredTarget.java +++ b/src/main/java/com/google/devtools/build/lib/rules/AliasConfiguredTarget.java @@ -27,6 +27,8 @@ import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable; import com.google.devtools.build.lib.events.Location; import com.google.devtools.build.lib.packages.Info; import com.google.devtools.build.lib.packages.Provider; +import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec; +import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec.VisibleForSerialization; import com.google.devtools.build.lib.skylarkinterface.SkylarkPrinter; import com.google.devtools.build.lib.syntax.ClassObject; import com.google.devtools.build.lib.syntax.EvalException; @@ -39,6 +41,7 @@ import javax.annotation.Nullable; * * <p>Transitive info providers can also be overridden. */ +@AutoCodec @Immutable public final class AliasConfiguredTarget implements ConfiguredTarget, ClassObject { private final Label label; @@ -51,10 +54,24 @@ public final class AliasConfiguredTarget implements ConfiguredTarget, ClassObjec RuleContext ruleContext, ConfiguredTarget actual, ImmutableMap<Class<? extends TransitiveInfoProvider>, TransitiveInfoProvider> overrides) { - this.label = ruleContext.getLabel(); - this.configuration = Preconditions.checkNotNull(ruleContext.getConfiguration()); - this.actual = Preconditions.checkNotNull(actual); - this.overrides = Preconditions.checkNotNull(overrides); + this( + ruleContext.getLabel(), + Preconditions.checkNotNull(ruleContext.getConfiguration()), + Preconditions.checkNotNull(actual), + Preconditions.checkNotNull(overrides)); + } + + @AutoCodec.Instantiator + @VisibleForSerialization + AliasConfiguredTarget( + Label label, + BuildConfiguration configuration, + ConfiguredTarget actual, + ImmutableMap<Class<? extends TransitiveInfoProvider>, TransitiveInfoProvider> overrides) { + this.label = label; + this.configuration = configuration; + this.actual = actual; + this.overrides = overrides; } @Override |