aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build
diff options
context:
space:
mode:
authorGravatar Kristina Chodorow <kchodorow@google.com>2016-02-10 19:44:40 +0000
committerGravatar Dmitry Lomov <dslomov@google.com>2016-02-11 11:48:48 +0000
commitb8ffd10a65365a6202b510fe64d3546ebd1d6e25 (patch)
tree803479ac9e993ada22a943aea0ba4d887ec7a197 /src/main/java/com/google/devtools/build
parent63c60a0c0f7806e7909e1c4242263fc49fe585d5 (diff)
Make xcode project generation generate correct filenames for external repos
-- MOS_MIGRATED_REVID=114350802
Diffstat (limited to 'src/main/java/com/google/devtools/build')
-rw-r--r--src/main/java/com/google/devtools/build/lib/rules/objc/XcodeProvider.java10
1 files changed, 8 insertions, 2 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 0dd0d5acab..4ed2341fa2 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
@@ -512,8 +512,14 @@ public final class XcodeProvider implements TransitiveInfoProvider {
}
private static String xcodeTargetName(Label label, String labelSuffix) {
- String pathFromWorkspaceRoot = (label + labelSuffix).replace("//", "")
- .replace(':', '/');
+ String pathFromWorkspaceRoot = label + labelSuffix;
+ if (label.getPackageIdentifier().getRepository().isDefault()) {
+ pathFromWorkspaceRoot = pathFromWorkspaceRoot.replace("//", "")
+ .replace(':', '/');
+ } else {
+ pathFromWorkspaceRoot = pathFromWorkspaceRoot.replace("//", "_")
+ .replace(':', '/').replace("@", "external_");
+ }
List<String> components = Splitter.on('/').splitToList(pathFromWorkspaceRoot);
return Joiner.on('_').join(Lists.reverse(components));
}