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 | 26 |
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; } |