aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/objc/MultiArchBinarySupport.java
diff options
context:
space:
mode:
authorGravatar cparsons <cparsons@google.com>2017-04-05 14:12:20 +0000
committerGravatar Marcel Hlopko <hlopko@google.com>2017-04-06 10:59:35 +0200
commit72ba72da8a25595d25f270cda3bc6f596279afe6 (patch)
treeb0356ff7ee495eae81b11108802a84e8691de5f5 /src/main/java/com/google/devtools/build/lib/rules/objc/MultiArchBinarySupport.java
parent72143fef3fef6a76b17824f9543bfdacca7f627f (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.java6
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();