From 79aa7b4d67893ad347ab40d06323dfe5503ac51e Mon Sep 17 00:00:00 2001 From: cparsons Date: Fri, 13 Jul 2018 08:00:18 -0700 Subject: Fix Skydoc's following of imports to correctly process absolute labels. Previously, any absolute label (starting with double slash) would be converted to an absolute path, instead of a path relative to the current workspace directory. RELNOTES: None. PiperOrigin-RevId: 204472080 --- src/main/java/com/google/devtools/build/skydoc/SkydocMain.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/main') diff --git a/src/main/java/com/google/devtools/build/skydoc/SkydocMain.java b/src/main/java/com/google/devtools/build/skydoc/SkydocMain.java index 2f0a7f4932..01fff20892 100644 --- a/src/main/java/com/google/devtools/build/skydoc/SkydocMain.java +++ b/src/main/java/com/google/devtools/build/skydoc/SkydocMain.java @@ -188,6 +188,10 @@ public class SkydocMain { ImmutableMap.Builder ruleInfoMap, ImmutableList.Builder unknownNamedRules) throws InterruptedException, IOException { + if (path.isAbsolute()) { + path = Paths.get(PathFragment.create(path.toString()).toRelative().getPathString()); + } + List ruleInfoList = new ArrayList<>(); Environment env = recursiveEval(path, ruleInfoList); @@ -253,7 +257,7 @@ public class SkydocMain { private static Path fromPathFragment(Path fromPath, PathFragment pathFragment) { return pathFragment.isAbsolute() - ? Paths.get(pathFragment.getPathString()) + ? Paths.get(pathFragment.toRelative().getPathString()) : fromPath.resolveSibling(pathFragment.getPathString()); } -- cgit v1.2.3