diff options
author | Chris Parsons <cparsons@google.com> | 2016-08-29 17:30:32 +0000 |
---|---|---|
committer | Klaus Aehlig <aehlig@google.com> | 2016-08-30 08:33:05 +0000 |
commit | 38a6e3d0a910bdf3b24516eaa425df4d31c3ab66 (patch) | |
tree | ba0405de118a9a196d8b059c2790e7382096c754 /src/main/java | |
parent | 5963ae7407f32cf25ebbe7e046f5bc5d0240aae3 (diff) |
Appropriately set platform environment variables in release bundle plists.
Previously, iphonesimulator / iphoneos platform information was being set even for watchos extensions.
--
MOS_MIGRATED_REVID=131607183
Diffstat (limited to 'src/main/java')
9 files changed, 72 insertions, 42 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/apple/Platform.java b/src/main/java/com/google/devtools/build/lib/rules/apple/Platform.java index 98f6deb740..b7344436c7 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/apple/Platform.java +++ b/src/main/java/com/google/devtools/build/lib/rules/apple/Platform.java @@ -31,13 +31,13 @@ import javax.annotation.Nullable; ) public enum Platform { - IOS_DEVICE("iPhoneOS", PlatformType.IOS), - IOS_SIMULATOR("iPhoneSimulator", PlatformType.IOS), - MACOS_X("MacOSX", PlatformType.MACOSX), - TVOS_DEVICE("AppleTVOS", PlatformType.TVOS), - TVOS_SIMULATOR("AppleTVSimulator", PlatformType.TVOS), - WATCHOS_DEVICE("WatchOS", PlatformType.WATCHOS), - WATCHOS_SIMULATOR("WatchSimulator", PlatformType.WATCHOS); + IOS_DEVICE("iPhoneOS", PlatformType.IOS, true), + IOS_SIMULATOR("iPhoneSimulator", PlatformType.IOS, false), + MACOS_X("MacOSX", PlatformType.MACOSX, true), + TVOS_DEVICE("AppleTVOS", PlatformType.TVOS, true), + TVOS_SIMULATOR("AppleTVSimulator", PlatformType.TVOS, false), + WATCHOS_DEVICE("WatchOS", PlatformType.WATCHOS, true), + WATCHOS_SIMULATOR("WatchSimulator", PlatformType.WATCHOS, false); private static final Set<String> IOS_SIMULATOR_TARGET_CPUS = ImmutableSet.of("ios_x86_64", "ios_i386"); @@ -52,10 +52,12 @@ public enum Platform { private final String nameInPlist; private final PlatformType platformType; + private final boolean isDevice; - Platform(String nameInPlist, PlatformType platformType) { + Platform(String nameInPlist, PlatformType platformType, boolean isDevice) { this.nameInPlist = Preconditions.checkNotNull(nameInPlist); this.platformType = platformType; + this.isDevice = isDevice; } /** Returns the platform type of this platform. */ @@ -69,6 +71,13 @@ public enum Platform { } /** + * Returns true if this platform is a device platform, or false if this is a simulator platform. + */ + public boolean isDevice() { + return isDevice; + } + + /** * Returns the name of the "platform" as it appears in the CFBundleSupportedPlatforms plist * setting. */ diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/AppleBinary.java b/src/main/java/com/google/devtools/build/lib/rules/objc/AppleBinary.java index 2dbaa57487..26defe3dc9 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/objc/AppleBinary.java +++ b/src/main/java/com/google/devtools/build/lib/rules/objc/AppleBinary.java @@ -94,7 +94,6 @@ public class AppleBinary implements RuleConfiguredTargetFactory { ObjcProvider.Builder objcProviderBuilder = new ObjcProvider.Builder(); for (BuildConfiguration childConfig : childConfigurations) { - ObjcConfiguration objcConfiguration = childConfig.getFragment(ObjcConfiguration.class); ProtobufSupport protoSupport = new ProtobufSupport(ruleContext, childConfig) .registerGenerationActions() diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/BinaryLinkingTargetFactory.java b/src/main/java/com/google/devtools/build/lib/rules/objc/BinaryLinkingTargetFactory.java index 88ac93a54d..85a7e67383 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/objc/BinaryLinkingTargetFactory.java +++ b/src/main/java/com/google/devtools/build/lib/rules/objc/BinaryLinkingTargetFactory.java @@ -28,7 +28,6 @@ import com.google.devtools.build.lib.analysis.RuleConfiguredTargetBuilder; import com.google.devtools.build.lib.analysis.RuleContext; import com.google.devtools.build.lib.analysis.RunfilesSupport; import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder; -import com.google.devtools.build.lib.packages.RuleClass.ConfiguredTargetFactory.RuleErrorException; import com.google.devtools.build.lib.rules.RuleConfiguredTargetFactory; import com.google.devtools.build.lib.rules.apple.AppleConfiguration; import com.google.devtools.build.lib.rules.apple.Platform; @@ -133,7 +132,8 @@ abstract class BinaryLinkingTargetFactory implements RuleConfiguredTargetFactory objcProvider, LinkedBinary.LOCAL_AND_DEPENDENCIES, ReleaseBundlingSupport.APP_BUNDLE_DIR_FORMAT, - objcConfiguration.getMinimumOs()); + objcConfiguration.getMinimumOs(), + appleConfiguration.getSingleArchPlatform()); releaseBundlingSupport .registerActions(DsymOutputType.APP) .addXcodeSettings(xcodeProviderBuilder) diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/IosTest.java b/src/main/java/com/google/devtools/build/lib/rules/objc/IosTest.java index bdb5fa3f47..6b01623337 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/objc/IosTest.java +++ b/src/main/java/com/google/devtools/build/lib/rules/objc/IosTest.java @@ -35,6 +35,7 @@ import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder; import com.google.devtools.build.lib.packages.RuleClass.ConfiguredTargetFactory.RuleErrorException; import com.google.devtools.build.lib.rules.RuleConfiguredTargetFactory; import com.google.devtools.build.lib.rules.apple.AppleConfiguration; +import com.google.devtools.build.lib.rules.apple.Platform.PlatformType; import com.google.devtools.build.lib.rules.objc.CompilationSupport.ExtraLinkArgs; import com.google.devtools.build.lib.rules.objc.ObjcCommon.ResourceAttributes; import com.google.devtools.build.lib.rules.objc.ReleaseBundlingSupport.LinkedBinary; @@ -162,12 +163,14 @@ public final class IosTest implements RuleConfiguredTargetFactory { .validateAttributes(); ObjcConfiguration objcConfiguration = ObjcRuleClasses.objcConfiguration(ruleContext); + AppleConfiguration appleConfiguration = ruleContext.getFragment(AppleConfiguration.class); new ReleaseBundlingSupport( ruleContext, common.getObjcProvider(), LinkedBinary.LOCAL_AND_DEPENDENCIES, bundleFormat, - objcConfiguration.getMinimumOs()) + objcConfiguration.getMinimumOs(), + appleConfiguration.getMultiArchPlatform(PlatformType.IOS)) .registerActions(DsymOutputType.TEST) .addXcodeSettings(xcodeProviderBuilder) .addFilesToBuild(filesToBuild, DsymOutputType.TEST) diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/ReleaseBundlingSupport.java b/src/main/java/com/google/devtools/build/lib/rules/objc/ReleaseBundlingSupport.java index 26cf539a15..c60ecdeb5b 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/objc/ReleaseBundlingSupport.java +++ b/src/main/java/com/google/devtools/build/lib/rules/objc/ReleaseBundlingSupport.java @@ -123,6 +123,7 @@ public final class ReleaseBundlingSupport { private final LinkedBinary linkedBinary; private final IntermediateArtifacts intermediateArtifacts; private final ReleaseBundling releaseBundling; + private final Platform platform; /** * Indicator as to whether this rule generates a binary directly or whether only dependencies @@ -142,7 +143,7 @@ public final class ReleaseBundlingSupport { } /** - * Creates a new application support within the given rule context. + * Creates a new release bundling support within the given rule context. * * @param ruleContext context for the application-generating rule * @param objcProvider provider containing all dependencies' information as well as some of this @@ -157,6 +158,7 @@ public final class ReleaseBundlingSupport { * through the configuration) * @param releaseBundling the {@link ReleaseBundling} containing information for creating a * releaseable bundle. + * @param platform the platform that bundles will be created for using this support */ ReleaseBundlingSupport( RuleContext ruleContext, @@ -165,7 +167,9 @@ public final class ReleaseBundlingSupport { String bundleDirFormat, String bundleName, DottedVersion bundleMinimumOsVersion, - ReleaseBundling releaseBundling) { + ReleaseBundling releaseBundling, + Platform platform) { + this.platform = platform; this.linkedBinary = linkedBinary; this.attributes = new Attributes(ruleContext); this.ruleContext = ruleContext; @@ -188,6 +192,7 @@ public final class ReleaseBundlingSupport { * @param bundleDirFormat format string representing the bundle's directory with a single * placeholder for the target name (e.g. {@code "Payload/%s.app"}) * @param bundleName name of the bundle, used with bundleDirFormat + * @param platform the platform that bundles will be created for using this support */ ReleaseBundlingSupport( RuleContext ruleContext, @@ -195,7 +200,8 @@ public final class ReleaseBundlingSupport { LinkedBinary linkedBinary, String bundleDirFormat, String bundleName, - DottedVersion bundleMinimumOsVersion) throws InterruptedException { + DottedVersion bundleMinimumOsVersion, + Platform platform) throws InterruptedException { this( ruleContext, objcProvider, @@ -203,7 +209,8 @@ public final class ReleaseBundlingSupport { bundleDirFormat, bundleName, bundleMinimumOsVersion, - ReleaseBundling.releaseBundling(ruleContext)); + ReleaseBundling.releaseBundling(ruleContext), + platform); } /** @@ -221,6 +228,7 @@ public final class ReleaseBundlingSupport { * @param bundleMinimumOsVersion the minimum OS version this bundle's plist should be generated * for (<b>not</b> the minimum OS version its binary is compiled with, that needs to be set * through the configuration) + * @param platform the platform that bundles will be created for using this support * @throws InterruptedException */ ReleaseBundlingSupport( @@ -228,9 +236,10 @@ public final class ReleaseBundlingSupport { ObjcProvider objcProvider, LinkedBinary linkedBinary, String bundleDirFormat, - DottedVersion bundleMinimumOsVersion) throws InterruptedException { + DottedVersion bundleMinimumOsVersion, + Platform platform) throws InterruptedException { this(ruleContext, objcProvider, linkedBinary, bundleDirFormat, ruleContext.getLabel().getName(), - bundleMinimumOsVersion); + bundleMinimumOsVersion, platform); } /** @@ -255,9 +264,7 @@ public final class ReleaseBundlingSupport { } } - AppleConfiguration appleConfiguration = ruleContext.getFragment(AppleConfiguration.class); - if (releaseBundling.getProvisioningProfile() == null - && appleConfiguration.getMultiArchPlatform(PlatformType.IOS) != Platform.IOS_SIMULATOR) { + if (releaseBundling.getProvisioningProfile() == null && platform.isDevice()) { ruleContext.attributeError(releaseBundling.getProvisioningProfileAttrName(), DEVICE_NO_PROVISIONING_PROFILE); } @@ -369,8 +376,8 @@ public final class ReleaseBundlingSupport { String platformWithVersion = String.format( "%s%s", - configuration.getMultiArchPlatform(PlatformType.IOS).getLowerCaseNameInPlist(), - configuration.getIosSdkVersion()); + platform.getLowerCaseNameInPlist(), + configuration.getSdkVersionForPlatform(platform)); ruleContext.registerAction( ObjcRuleClasses.spawnAppleEnvActionBuilder(ruleContext) .setMnemonic("EnvironmentPlist") @@ -398,7 +405,6 @@ public final class ReleaseBundlingSupport { List<Integer> uiDeviceFamily = TargetDeviceFamily.UI_DEVICE_FAMILY_VALUES.get(bundleSupport.targetDeviceFamilies()); AppleConfiguration appleConfiguration = ruleContext.getFragment(AppleConfiguration.class); - Platform platform = appleConfiguration.getMultiArchPlatform(PlatformType.IOS); NSDictionary result = new NSDictionary(); @@ -408,7 +414,7 @@ public final class ReleaseBundlingSupport { result.put("DTPlatformName", platform.getLowerCaseNameInPlist()); result.put( "DTSDKName", - platform.getLowerCaseNameInPlist() + appleConfiguration.getIosSdkVersion()); + platform.getLowerCaseNameInPlist() + appleConfiguration.getSdkVersionForPlatform(platform)); result.put("CFBundleSupportedPlatforms", new NSArray(NSObject.wrap(platform.getNameInPlist()))); result.put("MinimumOSVersion", bundling.getMinimumOsVersion().toString()); @@ -426,7 +432,7 @@ public final class ReleaseBundlingSupport { * <p>Note that multiple "actions" on the IPA contents may be run in a single blaze action to * avoid excessive zipping/unzipping of IPA contents. */ - private void registerPostProcessAndSigningActions() throws InterruptedException { + private void registerPostProcessAndSigningActions() { Artifact processedIpa = releaseBundling.getIpaArtifact(); Artifact unprocessedIpa = intermediateArtifacts.unprocessedIpa(); @@ -453,7 +459,7 @@ public final class ReleaseBundlingSupport { } AppleConfiguration appleConfiguration = ruleContext.getFragment(AppleConfiguration.class); - if (appleConfiguration.getMultiArchPlatform(PlatformType.IOS) == Platform.IOS_DEVICE) { + if (platform.isDevice()) { processingNeeded = true; registerEntitlementsActions(); actionCommandLine += signingCommandLine(); @@ -466,10 +472,8 @@ public final class ReleaseBundlingSupport { if (processingNeeded) { SpawnAction.Builder processAction = ObjcRuleClasses.spawnBashOnDarwinActionBuilder(actionCommandLine) - // TODO(cparsons): This bundling support is used for other platform types, as well. - // The platform type should be passed from the caller. - .setEnvironment(ObjcRuleClasses.appleToolchainEnvironment(appleConfiguration, - appleConfiguration.getMultiArchPlatform(PlatformType.IOS))) + .setEnvironment( + ObjcRuleClasses.appleToolchainEnvironment(appleConfiguration, platform)) .setMnemonic("ObjcProcessIpa") .setProgressMessage("Processing iOS IPA: " + ruleContext.getLabel()) .addTransitiveInputs(inputs.build()) @@ -616,8 +620,7 @@ public final class ReleaseBundlingSupport { * @return this application support */ ReleaseBundlingSupport addFilesToBuild( - NestedSetBuilder<Artifact> filesToBuild, DsymOutputType dsymOutputType) - throws InterruptedException { + NestedSetBuilder<Artifact> filesToBuild, DsymOutputType dsymOutputType) { NestedSetBuilder<Artifact> debugSymbolBuilder = NestedSetBuilder.<Artifact>stableOrder(); for (Artifact linkmapFile : getLinkmapFiles().values()) { @@ -672,7 +675,7 @@ public final class ReleaseBundlingSupport { * Creates the {@link XcTestAppProvider} that can be used if this application is used as an * {@code xctest_app}. */ - XcTestAppProvider xcTestAppProvider() throws InterruptedException { + XcTestAppProvider xcTestAppProvider() { // We want access to #import-able things from our test rig's dependency graph, but we don't // want to link anything since that stuff is shared automatically by way of the // -bundle_loader linker flag. @@ -726,7 +729,7 @@ public final class ReleaseBundlingSupport { /** * Returns a {@link RunfilesSupport} that uses the provided runner script as the executable. */ - RunfilesSupport runfilesSupport(Artifact runnerScript) throws InterruptedException { + RunfilesSupport runfilesSupport(Artifact runnerScript) { Runfiles runfiles = new Runfiles.Builder( ruleContext.getWorkspaceName(), ruleContext.getConfiguration().legacyExternalRunfiles()) .addArtifact(releaseBundling.getIpaArtifact()) @@ -756,7 +759,7 @@ public final class ReleaseBundlingSupport { DottedVersion minimumOsVersion) { ImmutableList<BundleableFile> extraBundleFiles; AppleConfiguration appleConfiguration = ruleContext.getFragment(AppleConfiguration.class); - if (appleConfiguration.getMultiArchPlatform(PlatformType.IOS) == Platform.IOS_DEVICE) { + if (platform.isDevice()) { extraBundleFiles = ImmutableList.of(new BundleableFile( releaseBundling.getProvisioningProfile(), PROVISIONING_PROFILE_BUNDLE_FILE)); } else { @@ -808,10 +811,9 @@ public final class ReleaseBundlingSupport { } Artifact resultingLinkedBinary = intermediateArtifacts.combinedArchitectureBinary(); - AppleConfiguration appleConfiguration = ruleContext.getFragment(AppleConfiguration.class); new LipoSupport(ruleContext).registerCombineArchitecturesAction(linkedBinaries(), - resultingLinkedBinary, appleConfiguration.getMultiArchPlatform(PlatformType.IOS)); + resultingLinkedBinary, platform); } private NestedSet<Artifact> linkedBinaries() { diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/ReleaseBundlingTargetFactory.java b/src/main/java/com/google/devtools/build/lib/rules/objc/ReleaseBundlingTargetFactory.java index 8c4e911b3f..539957a986 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/objc/ReleaseBundlingTargetFactory.java +++ b/src/main/java/com/google/devtools/build/lib/rules/objc/ReleaseBundlingTargetFactory.java @@ -25,6 +25,7 @@ import com.google.devtools.build.lib.rules.RuleConfiguredTargetFactory; import com.google.devtools.build.lib.rules.apple.AppleConfiguration; import com.google.devtools.build.lib.rules.apple.AppleConfiguration.ConfigurationDistinguisher; import com.google.devtools.build.lib.rules.apple.DottedVersion; +import com.google.devtools.build.lib.rules.apple.Platform.PlatformType; import com.google.devtools.build.lib.rules.objc.ReleaseBundlingSupport.LinkedBinary; import com.google.devtools.build.lib.rules.test.InstrumentedFilesCollector; import com.google.devtools.build.lib.rules.test.InstrumentedFilesProvider; @@ -70,9 +71,11 @@ public abstract class ReleaseBundlingTargetFactory implements RuleConfiguredTarg XcodeProvider.Builder xcodeProviderBuilder = new XcodeProvider.Builder(); NestedSetBuilder<Artifact> filesToBuild = NestedSetBuilder.stableOrder(); + AppleConfiguration appleConfiguration = ruleContext.getFragment(AppleConfiguration.class); ReleaseBundlingSupport releaseBundlingSupport = new ReleaseBundlingSupport( ruleContext, common.getObjcProvider(), LinkedBinary.DEPENDENCIES_ONLY, bundleDirFormat, - bundleName(ruleContext), bundleMinimumOsVersion(ruleContext)); + bundleName(ruleContext), bundleMinimumOsVersion(ruleContext), + appleConfiguration.getMultiArchPlatform(PlatformType.IOS)); releaseBundlingSupport .registerActions(DsymOutputType.APP) .addXcodeSettings(xcodeProviderBuilder) diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/Watch2ExtensionSupport.java b/src/main/java/com/google/devtools/build/lib/rules/objc/Watch2ExtensionSupport.java index 4a0b24ae21..bf247c6fb7 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/objc/Watch2ExtensionSupport.java +++ b/src/main/java/com/google/devtools/build/lib/rules/objc/Watch2ExtensionSupport.java @@ -39,6 +39,8 @@ import com.google.devtools.build.lib.actions.Artifact; import com.google.devtools.build.lib.analysis.RuleConfiguredTarget.Mode; import com.google.devtools.build.lib.analysis.RuleContext; import com.google.devtools.build.lib.analysis.actions.FileWriteAction; +import com.google.devtools.build.lib.rules.apple.AppleConfiguration; +import com.google.devtools.build.lib.rules.apple.Platform.PlatformType; import com.google.devtools.build.lib.rules.objc.ReleaseBundlingSupport.LinkedBinary; import com.google.devtools.build.lib.rules.objc.TargetDeviceFamily.InvalidFamilyNameException; import com.google.devtools.build.lib.rules.objc.TargetDeviceFamily.RepeatedFamilyNameException; @@ -120,6 +122,8 @@ public class Watch2ExtensionSupport { releaseBundling.setFallbackBundleId(attributes.bundleId()); } + AppleConfiguration appleConfiguration = ruleContext.getFragment(AppleConfiguration.class); + ReleaseBundlingSupport releaseBundlingSupport = new ReleaseBundlingSupport( ruleContext, @@ -129,7 +133,8 @@ public class Watch2ExtensionSupport { bundleName, WatchUtils.determineMinimumOsVersion( ObjcRuleClasses.objcConfiguration(ruleContext).getMinimumOs()), - releaseBundling.build()); + releaseBundling.build(), + appleConfiguration.getMultiArchPlatform(PlatformType.WATCHOS)); releaseBundlingSupport .registerActions(DsymOutputType.APP) diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/WatchApplicationSupport.java b/src/main/java/com/google/devtools/build/lib/rules/objc/WatchApplicationSupport.java index 2a5bd462dc..bfb9729332 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/objc/WatchApplicationSupport.java +++ b/src/main/java/com/google/devtools/build/lib/rules/objc/WatchApplicationSupport.java @@ -194,6 +194,10 @@ final class WatchApplicationSupport { releaseBundling.setFallbackBundleId(attributes.bundleId()); } + AppleConfiguration appleConfiguration = ruleContext.getFragment(AppleConfiguration.class); + + PlatformType appPlatformType = watchOSVersion == WatchOSVersion.OS1 + ? PlatformType.IOS : PlatformType.WATCHOS; ReleaseBundlingSupport releaseBundlingSupport = new ReleaseBundlingSupport( ruleContext, @@ -203,7 +207,8 @@ final class WatchApplicationSupport { bundleName, WatchUtils.determineMinimumOsVersion( ObjcRuleClasses.objcConfiguration(ruleContext).getMinimumOs()), - releaseBundling.build()) + releaseBundling.build(), + appleConfiguration.getMultiArchPlatform(appPlatformType)) .registerActions(DsymOutputType.APP); if (xcodeProviderBuilder.isPresent()) { diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/WatchExtensionSupport.java b/src/main/java/com/google/devtools/build/lib/rules/objc/WatchExtensionSupport.java index ce070131d7..bc7096ff45 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/objc/WatchExtensionSupport.java +++ b/src/main/java/com/google/devtools/build/lib/rules/objc/WatchExtensionSupport.java @@ -44,6 +44,7 @@ import com.google.devtools.build.lib.analysis.actions.FileWriteAction; import com.google.devtools.build.lib.collect.nestedset.NestedSetBuilder; import com.google.devtools.build.lib.rules.apple.AppleConfiguration; import com.google.devtools.build.lib.rules.apple.AppleConfiguration.ConfigurationDistinguisher; +import com.google.devtools.build.lib.rules.apple.Platform.PlatformType; import com.google.devtools.build.lib.rules.objc.ObjcProvider.Builder; import com.google.devtools.build.lib.rules.objc.ReleaseBundlingSupport.LinkedBinary; import com.google.devtools.build.lib.rules.objc.TargetDeviceFamily.InvalidFamilyNameException; @@ -132,6 +133,8 @@ public class WatchExtensionSupport { releaseBundling.setFallbackBundleId(attributes.bundleId()); } + AppleConfiguration appleConfiguration = ruleContext.getFragment(AppleConfiguration.class); + ReleaseBundlingSupport releaseBundlingSupport = new ReleaseBundlingSupport( ruleContext, @@ -141,7 +144,8 @@ public class WatchExtensionSupport { bundleName, WatchUtils.determineMinimumOsVersion( ObjcRuleClasses.objcConfiguration(ruleContext).getMinimumOs()), - releaseBundling.build()); + releaseBundling.build(), + appleConfiguration.getMultiArchPlatform(PlatformType.IOS)); releaseBundlingSupport.registerActions(DsymOutputType.APP); |