aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/analysis/configuredtargets/PackageGroupConfiguredTarget.java
diff options
context:
space:
mode:
authorGravatar janakr <janakr@google.com>2018-02-23 15:09:47 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2018-02-23 15:12:13 -0800
commit14e549cc6596f67ed22c1bac0819f0775e4fb806 (patch)
treed80edca62fa006fc122ffcc48962eb6f3cb121d3 /src/main/java/com/google/devtools/build/lib/analysis/configuredtargets/PackageGroupConfiguredTarget.java
parent6966a2e1fa3eb4eca71a10fe47661128284e8e4f (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.java24
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