aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/rules/objc/XcodeProvider.java
diff options
context:
space:
mode:
authorGravatar Peter Schmitt <schmitt@google.com>2015-03-20 20:42:56 +0000
committerGravatar Damien Martin-Guillerez <dmarting@google.com>2015-03-23 11:57:17 +0000
commitd8c109f5fdb71482ceab1be4a759b4f67b46ca74 (patch)
tree5a58b8d126d65428f25c2a97e877d56c3eae41c5 /src/main/java/com/google/devtools/build/lib/rules/objc/XcodeProvider.java
parent54b21d4f011f47aee5aa570f292703739f77f1d1 (diff)
Only use a single copy of a nested bundle with ios_multi_cpus.
We generate a nested bundle for each architecture specified in ios_multi_cpus which would cause any artifacts generated by these rules (such as info plists or compiled resource files) to clash in the final application bundle (where the bundle directory only exists once). For now just pick one architecture at random to store the bundle in - unfortunately we still generate the bundle for all architectures. -- MOS_MIGRATED_REVID=89152199
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/rules/objc/XcodeProvider.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/XcodeProvider.java18
1 files changed, 1 insertions, 17 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/rules/objc/XcodeProvider.java b/src/main/java/com/google/devtools/build/lib/rules/objc/XcodeProvider.java
index 5bdaf865b2..ac20c8ea8a 100644
--- a/src/main/java/com/google/devtools/build/lib/rules/objc/XcodeProvider.java
+++ b/src/main/java/com/google/devtools/build/lib/rules/objc/XcodeProvider.java
@@ -135,7 +135,7 @@ public final class XcodeProvider implements TransitiveInfoProvider {
*/
public Builder addDependencies(
Iterable<XcodeProvider> dependencies, ObjcConfiguration configuration) {
- String architecture = getDependencyArchitecture(configuration);
+ String architecture = configuration.getDependencySingleArchitecture();
for (XcodeProvider dependency : dependencies) {
// TODO(bazel-team): This is messy. Maybe we should make XcodeProvider be able to specify
// how to depend on it rather than require this method to choose based on the dependency's
@@ -153,22 +153,6 @@ public final class XcodeProvider implements TransitiveInfoProvider {
}
/**
- * Returns the architecture for which we keep dependencies.
- *
- * <p>When building with multiple architectures we want to avoid duplicating the same target for
- * each architecture. Instead we pick one architecture for which to keep all dependencies and
- * discard any others.
- */
- private String getDependencyArchitecture(ObjcConfiguration configuration) {
- List<String> iosMultiCpus = configuration.getIosMultiCpus();
- String architecture = configuration.getIosCpu();
- if (!iosMultiCpus.isEmpty()) {
- architecture = iosMultiCpus.get(0);
- }
- return architecture;
- }
-
- /**
* Adds additional build settings of this target.
*/
public Builder addXcodeprojBuildSettings(