diff options
author | 2017-04-05 14:12:20 +0000 | |
---|---|---|
committer | 2017-04-06 10:59:35 +0200 | |
commit | 72ba72da8a25595d25f270cda3bc6f596279afe6 (patch) | |
tree | b0356ff7ee495eae81b11108802a84e8691de5f5 /src/main/java/com/google/devtools/build/lib/rules/objc/MultiArchBinarySupport.java | |
parent | 72143fef3fef6a76b17824f9543bfdacca7f627f (diff) |
Slightly improve efficiency of apple_binary dylib-proto-dependency subtraction
(Pull NestedSet creation outside of a loop)
RELNOTES: None.
PiperOrigin-RevId: 152253535
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/objc/MultiArchBinarySupport.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/objc/MultiArchBinarySupport.java | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/MultiArchBinarySupport.java b/src/main/java/com/google/devtools/build/lib/rules/objc/MultiArchBinarySupport.java index d400b38e4c..018a5dd1c5 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/objc/MultiArchBinarySupport.java +++ b/src/main/java/com/google/devtools/build/lib/rules/objc/MultiArchBinarySupport.java @@ -166,8 +166,6 @@ public class MultiArchBinarySupport { * current rule have propagated * @param dylibProtoProviders {@link ObjcProtoProvider} providers that dynamic library * dependencies of the current rule have propagated - * @param bundleLoaderObjcProvider Optional ObjcProvider containing artifacts and paths to be - * included in this binary's compilation actions * @throws RuleErrorException if there are attribute errors in the current rule context */ public ImmutableSet<DependencySpecificConfiguration> getDependencySpecificConfigurations( @@ -177,14 +175,14 @@ public class MultiArchBinarySupport { Iterable<ObjcProvider> dylibObjcProviders, Iterable<ObjcProtoProvider> dylibProtoProviders) throws RuleErrorException, InterruptedException { + NestedSet<Artifact> protosToAvoid = protoArtifactsToAvoid(dylibProtoProviders); ImmutableSet.Builder<DependencySpecificConfiguration> childInfoBuilder = ImmutableSet.builder(); for (BuildConfiguration childConfig : childConfigurationsAndToolchains.keySet()) { Optional<ObjcProvider> protosObjcProvider; if (ObjcRuleClasses.objcConfiguration(ruleContext).enableAppleBinaryNativeProtos()) { ProtobufSupport protoSupport = - new ProtobufSupport(ruleContext, childConfig, - protoArtifactsToAvoid(dylibProtoProviders)) + new ProtobufSupport(ruleContext, childConfig, protosToAvoid) .registerGenerationActions() .registerCompilationActions(); protosObjcProvider = protoSupport.getObjcProvider(); |