aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProtoLibrary.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProtoLibrary.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProtoLibrary.java19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProtoLibrary.java b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProtoLibrary.java
index 6b2ba5a76e..55fbba932f 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProtoLibrary.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/ObjcProtoLibrary.java
@@ -20,6 +20,7 @@ import com.google.devtools.build.lib.actions.Artifact;
import com.google.devtools.build.lib.analysis.ConfiguredTarget;
import com.google.devtools.build.lib.analysis.RuleConfiguredTarget.Mode;
import com.google.devtools.build.lib.analysis.RuleContext;
+import com.google.devtools.build.lib.collect.nestedset.NestedSet;
import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder;
import com.google.devtools.build.lib.packages.RuleClass.ConfiguredTargetFactory.RuleErrorException;
import com.google.devtools.build.lib.rules.RuleConfiguredTargetFactory;
@@ -58,7 +59,11 @@ public class ObjcProtoLibrary implements RuleConfiguredTargetFactory {
ProtobufSupport protoSupport =
new ProtobufSupport(
- ruleContext, ruleContext.getConfiguration(), protoProviders, objcProtoProviders)
+ ruleContext,
+ ruleContext.getConfiguration(),
+ protoProviders,
+ objcProtoProviders,
+ getPortableProtoFilters(ruleContext, objcProtoProviders))
.registerGenerationActions()
.addFilesToBuild(filesToBuild);
@@ -74,6 +79,18 @@ public class ObjcProtoLibrary implements RuleConfiguredTargetFactory {
.build();
}
+ private static NestedSet<Artifact> getPortableProtoFilters(
+ RuleContext ruleContext, Iterable<ObjcProtoProvider> objcProtoProviders) {
+ ProtoAttributes attributes = new ProtoAttributes(ruleContext);
+ NestedSetBuilder<Artifact> portableProtoFilters = NestedSetBuilder.stableOrder();
+
+ portableProtoFilters.addTransitive(
+ ProtobufSupport.getTransitivePortableProtoFilters(objcProtoProviders));
+ portableProtoFilters.addAll(attributes.getPortableProtoFilters());
+
+ return portableProtoFilters.build();
+ }
+
private ConfiguredTarget createProtocolBuffers2Target(RuleContext ruleContext)
throws InterruptedException, RuleErrorException {
NestedSetBuilder<Artifact> filesToBuild = NestedSetBuilder.stableOrder();