aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/proto
diff options
context:
space:
mode:
authorGravatar janakr <janakr@google.com>2018-02-26 11:56:12 -0800
committerGravatar Copybara-Service <copybara-piper@google.com>2018-02-26 11:58:03 -0800
commitaea01efa1eae35edb597dc17b386c3764d56441f (patch)
treeeacfebd43112a89927a2fd78060cb20677758640 /src/main/java/com/google/devtools/build/lib/rules/proto
parent2992a06adac5be9cadf2b6e71ab740fcbd0dd47b (diff)
@AutoCodec some more providers.
PiperOrigin-RevId: 187057628
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/proto')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/proto/ProtoLangToolchainProvider.java3
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/proto/ProtoSourcesProvider.java11
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/proto/ProtoSupportDataProvider.java2
3 files changed, 12 insertions, 4 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoLangToolchainProvider.java b/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoLangToolchainProvider.java
index 988bc4ef15..2c3d755eca 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoLangToolchainProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoLangToolchainProvider.java
@@ -20,6 +20,7 @@ import com.google.devtools.build.lib.analysis.FilesToRunProvider;
import com.google.devtools.build.lib.analysis.TransitiveInfoCollection;
import com.google.devtools.build.lib.analysis.TransitiveInfoProvider;
import com.google.devtools.build.lib.collect.nestedset.NestedSet;
+import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
import javax.annotation.Nullable;
// Note: AutoValue v1.4-rc1 has AutoValue.CopyAnnotations which makes it work with Skylark. No need
@@ -29,6 +30,7 @@ import javax.annotation.Nullable;
* rules.
*/
@AutoValue
+@AutoCodec
public abstract class ProtoLangToolchainProvider implements TransitiveInfoProvider {
public abstract String commandLine();
@@ -40,6 +42,7 @@ public abstract class ProtoLangToolchainProvider implements TransitiveInfoProvid
public abstract NestedSet<Artifact> blacklistedProtos();
+ @AutoCodec.Instantiator
public static ProtoLangToolchainProvider create(
String commandLine,
FilesToRunProvider pluginExecutable,
diff --git a/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoSourcesProvider.java b/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoSourcesProvider.java
index bf2ed12b3b..a4b5765176 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoSourcesProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoSourcesProvider.java
@@ -20,6 +20,7 @@ import com.google.devtools.build.lib.actions.Artifact;
import com.google.devtools.build.lib.analysis.TransitiveInfoProvider;
import com.google.devtools.build.lib.collect.nestedset.NestedSet;
import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;
+import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
import com.google.devtools.build.lib.skylarkinterface.SkylarkCallable;
import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
@@ -31,26 +32,28 @@ import com.google.devtools.build.lib.skylarkinterface.SkylarkModule;
@AutoValue
@Immutable
@SkylarkModule(name = "ProtoSourcesProvider", doc = "")
+@AutoCodec
public abstract class ProtoSourcesProvider implements TransitiveInfoProvider {
/** The name of the field in Skylark used to access this class. */
public static final String SKYLARK_NAME = "proto";
+ @AutoCodec.Instantiator
public static ProtoSourcesProvider create(
NestedSet<Artifact> transitiveImports,
NestedSet<Artifact> transitiveProtoSources,
- ImmutableList<Artifact> protoSources,
+ ImmutableList<Artifact> directProtoSources,
NestedSet<Artifact> checkDepsProtoSources,
Artifact directDescriptorSet,
NestedSet<Artifact> transitiveDescriptorSets,
- NestedSet<String> protoPathFlags) {
+ NestedSet<String> transitiveProtoPathFlags) {
return new AutoValue_ProtoSourcesProvider(
transitiveImports,
transitiveProtoSources,
- protoSources,
+ directProtoSources,
checkDepsProtoSources,
directDescriptorSet,
transitiveDescriptorSets,
- protoPathFlags);
+ transitiveProtoPathFlags);
}
/**
diff --git a/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoSupportDataProvider.java b/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoSupportDataProvider.java
index be914b547d..1df2e3ee79 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoSupportDataProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/proto/ProtoSupportDataProvider.java
@@ -16,12 +16,14 @@ package com.google.devtools.build.lib.rules.proto;
import com.google.devtools.build.lib.analysis.TransitiveInfoProvider;
import com.google.devtools.build.lib.concurrent.ThreadSafety.Immutable;
+import com.google.devtools.build.lib.skyframe.serialization.autocodec.AutoCodec;
/**
* Provider that returns SupportData from proto_library used by language-specific protobuf
* generators.
*/
@Immutable
+@AutoCodec
public final class ProtoSupportDataProvider implements TransitiveInfoProvider {
private final SupportData supportData;