From 47281b4a1e3be5077e13f5d2d1986c6105c26365 Mon Sep 17 00:00:00 2001 From: Dmitry Shevchenko Date: Wed, 27 Jul 2016 21:19:35 +0000 Subject: Rollback of commit 75714b0d6e65905e41da8415ca3e7ec101575d51. *** Reason for rollback *** Broke Play Books tests *** Original change description *** Include SwiftSupport directory into the IPA when an app contains Swift. * To pass App Store validation, an app that contains Swift code must have a SwiftSupport directory at the root of the IPA. -- MOS_MIGRATED_REVID=128627984 --- .../devtools/build/lib/rules/objc/Bundling.java | 16 ++------ .../lib/rules/objc/IntermediateArtifacts.java | 8 ---- .../lib/rules/objc/ReleaseBundlingSupport.java | 47 +++++----------------- 3 files changed, 14 insertions(+), 57 deletions(-) (limited to 'src/main/java') diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/Bundling.java b/src/main/java/com/google/devtools/build/lib/rules/objc/Bundling.java index e00d64bf8d..a5a9a71240 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/objc/Bundling.java +++ b/src/main/java/com/google/devtools/build/lib/rules/objc/Bundling.java @@ -45,6 +45,7 @@ import com.google.devtools.build.lib.rules.apple.AppleConfiguration; import com.google.devtools.build.lib.rules.apple.DottedVersion; import com.google.devtools.build.lib.util.Preconditions; import com.google.devtools.build.lib.vfs.PathFragment; + import java.util.HashSet; import java.util.Map; import java.util.Set; @@ -220,17 +221,6 @@ final class Bundling { return mergeZipBuilder.build(); } - private NestedSet rootMergeZips() { - NestedSetBuilder rootMergeZipsBuilder = - NestedSetBuilder.stableOrder().addTransitive(objcProvider.get(ROOT_MERGE_ZIP)); - - if (objcProvider.is(USES_SWIFT)) { - rootMergeZipsBuilder.add(intermediateArtifacts.swiftSupportZip()); - } - - return rootMergeZipsBuilder.build(); - } - private NestedSet bundleInfoplistInputs() { if (objcProvider.hasAssetCatalogs()) { infoplistInputs.add(intermediateArtifacts.actoolPartialInfoplist()); @@ -338,7 +328,9 @@ final class Bundling { NestedSet binaryStringsFiles = binaryStringsFiles(); NestedSet dynamicFrameworks = dynamicFrameworkFiles(); NestedSet mergeZips = mergeZips(actoolzipOutput); - NestedSet rootMergeZips = rootMergeZips(); + NestedSet rootMergeZips = + NestedSetBuilder.stableOrder() + .addTransitive(objcProvider.get(ROOT_MERGE_ZIP)).build(); bundleFilesBuilder .addAll(binaryStringsFiles) diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/IntermediateArtifacts.java b/src/main/java/com/google/devtools/build/lib/rules/objc/IntermediateArtifacts.java index 0ccc9d2752..7efef81544 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/objc/IntermediateArtifacts.java +++ b/src/main/java/com/google/devtools/build/lib/rules/objc/IntermediateArtifacts.java @@ -319,14 +319,6 @@ public final class IntermediateArtifacts { return appendExtension(".swiftstdlib.zip"); } - /** - * Same as {@link #swiftFrameworksFileZip()} but used to put Swift dylibs at a different location - * in SwiftSupport directory at the top of the IPA. - */ - public Artifact swiftSupportZip() { - return appendExtension(".swiftsupport.zip"); - } - /** * The temp zipped debug symbol bundle file which contains debug symbols generated by dsymutil. */ 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 39e6d2ce13..d52dad9ed1 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 @@ -22,9 +22,6 @@ import static com.google.devtools.build.lib.rules.objc.ObjcRuleClasses.ReleaseBu import static com.google.devtools.build.lib.rules.objc.ObjcRuleClasses.ReleaseBundlingRule.EXTRA_ENTITLEMENTS_ATTR; import static com.google.devtools.build.lib.rules.objc.TargetDeviceFamily.UI_DEVICE_FAMILY_VALUES; -import com.dd.plist.NSArray; -import com.dd.plist.NSDictionary; -import com.dd.plist.NSObject; import com.google.common.annotations.VisibleForTesting; import com.google.common.base.Joiner; import com.google.common.collect.ImmutableList; @@ -66,8 +63,14 @@ import com.google.devtools.build.lib.rules.objc.BundleSupport.ExtraActoolArgs; import com.google.devtools.build.lib.rules.objc.Bundling.Builder; import com.google.devtools.build.lib.shell.ShellUtils; import com.google.devtools.build.xcode.xcodegen.proto.XcodeGenProtos.XcodeprojBuildSetting; + +import com.dd.plist.NSArray; +import com.dd.plist.NSDictionary; +import com.dd.plist.NSObject; + import java.util.List; import java.util.Map.Entry; + import javax.annotation.Nullable; /** @@ -296,7 +299,6 @@ public final class ReleaseBundlingSupport { registerCopyDsymPlistAction(dsymOutputType); registerCopyLinkmapFilesAction(); registerSwiftStdlibActionsIfNecessary(); - registerSwiftSupportActionsIfNecessary(); registerEmbedLabelPlistAction(); registerEnvironmentPlistAction(); @@ -1049,13 +1051,10 @@ public final class ReleaseBundlingSupport { AppleConfiguration appleConfiguration = ruleContext.getFragment(AppleConfiguration.class); - CustomCommandLine.Builder commandLine = - CustomCommandLine.builder() - .addPath(intermediateArtifacts.swiftFrameworksFileZip().getExecPath()) - .add("Frameworks") - .add("--platform") - .add(AppleToolchain.swiftPlatform(appleConfiguration)) - .addExecPath("--scan-executable", intermediateArtifacts.combinedArchitectureBinary()); + CustomCommandLine.Builder commandLine = CustomCommandLine.builder() + .addPath(intermediateArtifacts.swiftFrameworksFileZip().getExecPath()) + .add("--platform").add(AppleToolchain.swiftPlatform(appleConfiguration)) + .addExecPath("--scan-executable", intermediateArtifacts.combinedArchitectureBinary()); ruleContext.registerAction( ObjcRuleClasses.spawnAppleEnvActionBuilder(ruleContext) @@ -1067,32 +1066,6 @@ public final class ReleaseBundlingSupport { .build(ruleContext)); } - /** Registers an action to copy Swift standard library dylibs into SwiftSupport root directory. */ - private void registerSwiftSupportActionsIfNecessary() { - if (!objcProvider.is(USES_SWIFT)) { - return; - } - - AppleConfiguration appleConfiguration = ruleContext.getFragment(AppleConfiguration.class); - - CustomCommandLine.Builder commandLine = - CustomCommandLine.builder() - .addPath(intermediateArtifacts.swiftSupportZip().getExecPath()) - .add("SwiftSupport/" + AppleToolchain.swiftPlatform(appleConfiguration)) - .add("--platform") - .add(AppleToolchain.swiftPlatform(appleConfiguration)) - .addExecPath("--scan-executable", intermediateArtifacts.combinedArchitectureBinary()); - - ruleContext.registerAction( - ObjcRuleClasses.spawnAppleEnvActionBuilder(ruleContext) - .setMnemonic("SwiftCopySwiftSupport") - .setExecutable(attributes.swiftStdlibToolWrapper()) - .setCommandLine(commandLine.build()) - .addOutput(intermediateArtifacts.swiftSupportZip()) - .addInput(intermediateArtifacts.combinedArchitectureBinary()) - .build(ruleContext)); - } - private String extractPlistCommand(Artifact provisioningProfile) { return "security cms -D -i " + ShellUtils.shellEscape(provisioningProfile.getExecPathString()); } -- cgit v1.2.3