diff options
author | 2016-05-04 13:36:48 +0000 | |
---|---|---|
committer | 2016-05-04 18:31:24 +0000 | |
commit | 4dd18ecfc4c32497ca40f3af4d37e24a8f99dfb7 (patch) | |
tree | 9a6af4d14972be23777b2129beaf7f0ca1d9777e /src/main/java/com/google/devtools/build/lib/actions/Artifact.java | |
parent | e55161f474ff36e310f6f6fff5d5232320df3c54 (diff) |
Switch to using ../repo-name syntax for runfiles
--
MOS_MIGRATED_REVID=121475668
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/actions/Artifact.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/actions/Artifact.java | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/actions/Artifact.java b/src/main/java/com/google/devtools/build/lib/actions/Artifact.java index 95faf512bd..3c71f88baf 100644 --- a/src/main/java/com/google/devtools/build/lib/actions/Artifact.java +++ b/src/main/java/com/google/devtools/build/lib/actions/Artifact.java @@ -498,6 +498,21 @@ public class Artifact } /** + * For targets in external repositories, this returns the path the artifact live at in the + * runfiles tree. For local targets, it returns the rootRelativePath. + */ + public final PathFragment getRunfilesPath() { + PathFragment relativePath = rootRelativePath; + if (relativePath.segmentCount() > 1 + && relativePath.getSegment(0).equals(Label.EXTERNAL_PATH_PREFIX)) { + // Turn external/repo/foo into ../repo/foo. + relativePath = relativePath.relativeTo(Label.EXTERNAL_PATH_PREFIX); + relativePath = new PathFragment("..").getRelative(relativePath); + } + return relativePath; + } + + /** * Returns this.getExecPath().getPathString(). */ @Override |