diff options
author | 2016-07-27 21:19:35 +0000 | |
---|---|---|
committer | 2016-07-28 18:36:30 -0400 | |
commit | 47281b4a1e3be5077e13f5d2d1986c6105c26365 (patch) | |
tree | b64390787a41c8f8b902e012d507648234a47176 /src/main/java/com/google/devtools/build/lib/rules | |
parent | 0e75edb5a314fd2b8b977432d534ebe4027da548 (diff) |
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
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules')
3 files changed, 14 insertions, 57 deletions
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<Artifact> rootMergeZips() { - NestedSetBuilder<Artifact> rootMergeZipsBuilder = - NestedSetBuilder.<Artifact>stableOrder().addTransitive(objcProvider.get(ROOT_MERGE_ZIP)); - - if (objcProvider.is(USES_SWIFT)) { - rootMergeZipsBuilder.add(intermediateArtifacts.swiftSupportZip()); - } - - return rootMergeZipsBuilder.build(); - } - private NestedSet<Artifact> bundleInfoplistInputs() { if (objcProvider.hasAssetCatalogs()) { infoplistInputs.add(intermediateArtifacts.actoolPartialInfoplist()); @@ -338,7 +328,9 @@ final class Bundling { NestedSet<BundleableFile> binaryStringsFiles = binaryStringsFiles(); NestedSet<BundleableFile> dynamicFrameworks = dynamicFrameworkFiles(); NestedSet<Artifact> mergeZips = mergeZips(actoolzipOutput); - NestedSet<Artifact> rootMergeZips = rootMergeZips(); + NestedSet<Artifact> rootMergeZips = + NestedSetBuilder.<Artifact>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 @@ -320,14 +320,6 @@ public final class IntermediateArtifacts { } /** - * 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. */ public Artifact tempDsymBundleZip(DsymOutputType dsymOutputType) { 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()); } |