diff options
author | 2018-02-14 12:45:39 -0800 | |
---|---|---|
committer | 2018-02-14 12:46:51 -0800 | |
commit | 19f05009065d4d94fc49b306557d7fb2c7b03587 (patch) | |
tree | a73cc6e9273a0fe7bed4147d18ba708c7e334149 /src/main/java/com/google/devtools/build/lib/analysis | |
parent | 7f081f42f0c84c23ef052117a367961165b5bd29 (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.java | 18 | ||||
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/analysis/LicensesProviderImpl.java | 10 |
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); |