aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/objc/XcodeSupport.java
diff options
context:
space:
mode:
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.java23
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;
}
}