diff options
author | janakr <janakr@google.com> | 2018-02-23 15:09:47 -0800 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-02-23 15:12:13 -0800 |
commit | 14e549cc6596f67ed22c1bac0819f0775e4fb806 (patch) | |
tree | d80edca62fa006fc122ffcc48962eb6f3cb121d3 /src/main/java/com/google/devtools/build/lib/analysis/configuredtargets/PackageGroupConfiguredTarget.java | |
parent | 6966a2e1fa3eb4eca71a10fe47661128284e8e4f (diff) |
@AutoCodec all the *ConfiguredTarget classes except for RuleConfiguredTarget. RuleConfiguredTarget is harder, and will be handled in a follow-up.
Also remove duplicate field from InputFileConfiguredTarget and unused parameter in EnvironmentGroupConfiguredTarget constructor.
Largely punt on FilesetOutputConfiguredTarget for now, but will handle soon.
PiperOrigin-RevId: 186829768
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/analysis/configuredtargets/PackageGroupConfiguredTarget.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/analysis/configuredtargets/PackageGroupConfiguredTarget.java | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/configuredtargets/PackageGroupConfiguredTarget.java b/src/main/java/com/google/devtools/build/lib/analysis/configuredtargets/PackageGroupConfiguredTarget.java index 6173507859..6be6cf3960 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/configuredtargets/PackageGroupConfiguredTarget.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/configuredtargets/PackageGroupConfiguredTarget.java @@ -14,7 +14,6 @@ package com.google.devtools.build.lib.analysis.configuredtargets; -import com.google.common.base.Preconditions; import com.google.devtools.build.lib.actions.Artifact; import com.google.devtools.build.lib.analysis.FileProvider; import com.google.devtools.build.lib.analysis.PackageSpecificationProvider; @@ -30,6 +29,8 @@ import com.google.devtools.build.lib.packages.Info; import com.google.devtools.build.lib.packages.PackageGroup; import com.google.devtools.build.lib.packages.PackageSpecification.PackageGroupContents; import com.google.devtools.build.lib.packages.Provider; +import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec.Instantiator; +import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec.VisibleForSerialization; /** * Dummy ConfiguredTarget for package groups. Contains no functionality, since @@ -42,10 +43,25 @@ public final class PackageGroupConfiguredTarget extends AbstractConfiguredTarget private final NestedSet<PackageGroupContents> packageSpecifications; + @VisibleForSerialization + @Instantiator + PackageGroupConfiguredTarget( + Label label, + NestedSet<PackageGroupContents> visibility, + NestedSet<PackageGroupContents> packageSpecifications) { + super(label, null, visibility); + this.packageSpecifications = packageSpecifications; + } + public PackageGroupConfiguredTarget(TargetContext targetContext, PackageGroup packageGroup) { - super(targetContext); - Preconditions.checkArgument(targetContext.getConfiguration() == null); + this( + targetContext.getLabel(), + targetContext.getVisibility(), + getPackageSpecifications(targetContext, packageGroup)); + } + private static NestedSet<PackageGroupContents> getPackageSpecifications( + TargetContext targetContext, PackageGroup packageGroup) { NestedSetBuilder<PackageGroupContents> builder = NestedSetBuilder.stableOrder(); for (Label label : packageGroup.getIncludes()) { TransitiveInfoCollection include = targetContext.maybeFindDirectPrerequisite( @@ -67,7 +83,7 @@ public final class PackageGroupConfiguredTarget extends AbstractConfiguredTarget } builder.add(packageGroup.getPackageSpecifications()); - packageSpecifications = builder.build(); + return builder.build(); } @Override |