aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/analysis
diff options
context:
space:
mode:
authorGravatar cpeyser <cpeyser@google.com>2018-02-14 12:45:39 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2018-02-14 12:46:51 -0800
commit19f05009065d4d94fc49b306557d7fb2c7b03587 (patch)
treea73cc6e9273a0fe7bed4147d18ba708c7e334149 /src/main/java/com/google/devtools/build/lib/analysis
parent7f081f42f0c84c23ef052117a367961165b5bd29 (diff)
@AutoCodec for LicenseProvider.
PiperOrigin-RevId: 185728682
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/analysis')
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/LicensesProvider.java18
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/LicensesProviderImpl.java10
2 files changed, 18 insertions, 10 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/LicensesProvider.java b/src/main/java/com/google/devtools/build/lib/analysis/LicensesProvider.java
index d52a0501e3..e6cb1bf3ec 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/LicensesProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/LicensesProvider.java
@@ -19,12 +19,15 @@ import com.google.devtools.build.lib.analysis.config.BuildConfiguration;
import com.google.devtools.build.lib.cmdline.Label;
import com.google.devtools.build.lib.collect.nestedset.NestedSet;
import com.google.devtools.build.lib.packages.License;
+import com.google.devtools.build.lib.skyframe.serialization.ObjectCodec;
+import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
+import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec.Strategy;
import java.util.Objects;
-/**
- * A {@link ConfiguredTarget} that has licensed targets in its transitive closure.
- */
+/** A {@link ConfiguredTarget} that has licensed targets in its transitive closure. */
+@AutoCodec(strategy = Strategy.POLYMORPHIC)
public interface LicensesProvider extends TransitiveInfoProvider {
+ ObjectCodec<LicensesProvider> CODEC = new LicensesProvider_AutoCodec();
/**
* The set of label - license associations in the transitive closure.
@@ -44,10 +47,11 @@ public interface LicensesProvider extends TransitiveInfoProvider {
*/
boolean hasOutputLicenses();
- /**
- * License association for a particular target.
- */
- public static final class TargetLicense {
+ /** License association for a particular target. */
+ @AutoCodec
+ final class TargetLicense {
+ public static final ObjectCodec<TargetLicense> CODEC =
+ new LicensesProvider_TargetLicense_AutoCodec();
private final Label label;
private final License license;
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/LicensesProviderImpl.java b/src/main/java/com/google/devtools/build/lib/analysis/LicensesProviderImpl.java
index fd4f4675df..7229aec1c8 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/LicensesProviderImpl.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/LicensesProviderImpl.java
@@ -24,12 +24,16 @@ import com.google.devtools.build.lib.packages.Attribute;
import com.google.devtools.build.lib.packages.AttributeMap;
import com.google.devtools.build.lib.packages.License;
import com.google.devtools.build.lib.packages.Rule;
+import com.google.devtools.build.lib.skyframe.serialization.ObjectCodec;
+import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
-/**
- * A {@link ConfiguredTarget} that has licensed targets in its transitive closure.
- */
+/** A {@link ConfiguredTarget} that has licensed targets in its transitive closure. */
@Immutable
+@AutoCodec
public final class LicensesProviderImpl implements LicensesProvider {
+ public static final ObjectCodec<LicensesProviderImpl> CODEC =
+ new LicensesProviderImpl_AutoCodec();
+
public static final LicensesProvider EMPTY =
new LicensesProviderImpl(NestedSetBuilder.<TargetLicense>emptySet(Order.LINK_ORDER), null);