diff options
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.java | 19 |
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(); |