diff options
author | 2016-02-10 19:44:40 +0000 | |
---|---|---|
committer | 2016-02-11 11:48:48 +0000 | |
commit | b8ffd10a65365a6202b510fe64d3546ebd1d6e25 (patch) | |
tree | 803479ac9e993ada22a943aea0ba4d887ec7a197 /src/main/java/com/google/devtools/build | |
parent | 63c60a0c0f7806e7909e1c4242263fc49fe585d5 (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.java | 10 |
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)); } |