diff options
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/objc/XcodeSupport.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/rules/objc/XcodeSupport.java | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/XcodeSupport.java b/src/main/java/com/google/devtools/build/lib/rules/objc/XcodeSupport.java index e176346570..db59f0112a 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/objc/XcodeSupport.java +++ b/src/main/java/com/google/devtools/build/lib/rules/objc/XcodeSupport.java @@ -107,11 +107,26 @@ public final class XcodeSupport { * @return this xcode support */ XcodeSupport addDependencies(Builder xcodeProviderBuilder, Attribute attribute) { - Iterable<XcodeProvider> dependencies = ruleContext.getPrerequisites( - attribute.getName(), attribute.getAccessMode(), XcodeProvider.class); + xcodeProviderBuilder.addPropagatedDependencies( + ruleContext.getPrerequisites( + attribute.getName(), attribute.getAccessMode(), XcodeProvider.class), + ObjcRuleClasses.objcConfiguration(ruleContext)); + return this; + } - xcodeProviderBuilder - .addDependencies(dependencies, ObjcRuleClasses.objcConfiguration(ruleContext)); + /** + * Adds non-propagated dependencies to the given provider builder from the given attribute. + * + * <p>A non-propagated dependency will not be linked into the final app bundle and can only serve + * as a compile-only dependency for its direct dependent. + * + * @return this xcode support + */ + XcodeSupport addNonPropagatedDependencies(Builder xcodeProviderBuilder, Attribute attribute) { + xcodeProviderBuilder.addNonPropagatedDependencies( + ruleContext.getPrerequisites( + attribute.getName(), attribute.getAccessMode(), XcodeProvider.class), + ObjcRuleClasses.objcConfiguration(ruleContext)); return this; } } |