aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/objc/Bundling.java
diff options
context:
space:
mode:
authorGravatar Dmitry Shevchenko <dmishe@google.com>2016-07-28 16:16:54 +0000
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2016-07-29 10:09:50 +0000
commit80f635a1bcd86ab08c14d5af4b2f56185d4825f1 (patch)
tree33e4a6e2835eb3e4aef8be0afe796d9d07a71dcf /src/main/java/com/google/devtools/build/lib/rules/objc/Bundling.java
parentee8b7aaff277b913d50f3083768564c1d7124c87 (diff)
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=128706028
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/objc/Bundling.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/Bundling.java16
1 files changed, 12 insertions, 4 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 a5a9a71240..e00d64bf8d 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,7 +45,6 @@ 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;
@@ -221,6 +220,17 @@ 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());
@@ -328,9 +338,7 @@ final class Bundling {
NestedSet<BundleableFile> binaryStringsFiles = binaryStringsFiles();
NestedSet<BundleableFile> dynamicFrameworks = dynamicFrameworkFiles();
NestedSet<Artifact> mergeZips = mergeZips(actoolzipOutput);
- NestedSet<Artifact> rootMergeZips =
- NestedSetBuilder.<Artifact>stableOrder()
- .addTransitive(objcProvider.get(ROOT_MERGE_ZIP)).build();
+ NestedSet<Artifact> rootMergeZips = rootMergeZips();
bundleFilesBuilder
.addAll(binaryStringsFiles)