aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/AliasConfiguredTarget.java
diff options
context:
space:
mode:
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.java25
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