diff options
author | Peter Schmitt <schmitt@google.com> | 2015-03-20 20:42:56 +0000 |
---|---|---|
committer | Damien Martin-Guillerez <dmarting@google.com> | 2015-03-23 11:57:17 +0000 |
commit | d8c109f5fdb71482ceab1be4a759b4f67b46ca74 (patch) | |
tree | 5a58b8d126d65428f25c2a97e877d56c3eae41c5 /src/main/java/com/google/devtools/build/lib/rules/objc/XcodeProvider.java | |
parent | 54b21d4f011f47aee5aa570f292703739f77f1d1 (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.java | 18 |
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( |