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.java26
1 files changed, 21 insertions, 5 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 e2d057d990..366cf99448 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
@@ -93,9 +93,27 @@ public final class XcodeSupport {
*/
XcodeSupport addXcodeSettings(XcodeProvider.Builder xcodeProviderBuilder,
ObjcProvider objcProvider, XcodeProductType productType) {
+ return addXcodeSettings(xcodeProviderBuilder, objcProvider, productType,
+ ObjcRuleClasses.objcConfiguration(ruleContext).getIosCpu());
+ }
+
+ /**
+ * Adds common xcode settings to the given provider builder, explicitly specifying architecture
+ * to use.
+ *
+ * @param objcProvider provider containing all dependencies' information as well as some of this
+ * rule's
+ * @param productType type of this rule's Xcode target
+ * @param architecture architecture to filter all dependencies with (only matching ones will be
+ * included in the final targets generated)
+ *
+ * @return this xcode support
+ */
+ XcodeSupport addXcodeSettings(Builder xcodeProviderBuilder,
+ ObjcProvider objcProvider, XcodeProductType productType, String architecture) {
xcodeProviderBuilder
.setLabel(ruleContext.getLabel())
- .setArchitecture(ObjcRuleClasses.objcConfiguration(ruleContext).getIosCpu())
+ .setArchitecture(architecture)
.setObjcProvider(objcProvider)
.setProductType(productType);
return this;
@@ -109,8 +127,7 @@ public final class XcodeSupport {
XcodeSupport addDependencies(Builder xcodeProviderBuilder, Attribute attribute) {
xcodeProviderBuilder.addPropagatedDependencies(
ruleContext.getPrerequisites(
- attribute.getName(), attribute.getAccessMode(), XcodeProvider.class),
- ObjcRuleClasses.objcConfiguration(ruleContext));
+ attribute.getName(), attribute.getAccessMode(), XcodeProvider.class));
return this;
}
@@ -125,8 +142,7 @@ public final class XcodeSupport {
XcodeSupport addNonPropagatedDependencies(Builder xcodeProviderBuilder, Attribute attribute) {
xcodeProviderBuilder.addNonPropagatedDependencies(
ruleContext.getPrerequisites(
- attribute.getName(), attribute.getAccessMode(), XcodeProvider.class),
- ObjcRuleClasses.objcConfiguration(ruleContext));
+ attribute.getName(), attribute.getAccessMode(), XcodeProvider.class));
return this;
}