diff options
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/actions/Root.java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/actions/Root.java | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/actions/Root.java b/src/main/java/com/google/devtools/build/lib/actions/Root.java index 55619eb368..447949dfb8 100644 --- a/src/main/java/com/google/devtools/build/lib/actions/Root.java +++ b/src/main/java/com/google/devtools/build/lib/actions/Root.java @@ -97,11 +97,13 @@ public final class Root implements Comparable<Root>, Serializable { @Nullable private final Path execRoot; private final Path path; private final boolean isMiddlemanRoot; + private final PathFragment execPath; private Root(@Nullable Path execRoot, Path path, boolean isMiddlemanRoot) { this.execRoot = execRoot; this.path = Preconditions.checkNotNull(path); this.isMiddlemanRoot = isMiddlemanRoot; + this.execPath = isSourceRoot() ? PathFragment.EMPTY_FRAGMENT : path.relativeTo(execRoot); } private Root(@Nullable Path execRoot, Path path) { @@ -117,7 +119,7 @@ public final class Root implements Comparable<Root>, Serializable { * the empty fragment. */ public PathFragment getExecPath() { - return isSourceRoot() ? PathFragment.EMPTY_FRAGMENT : path.relativeTo(execRoot); + return execPath; } @SkylarkCallable(name = "path", structField = true, |