diff options
6 files changed, 25 insertions, 24 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/actions/ActionExecutionException.java b/src/main/java/com/google/devtools/build/lib/actions/ActionExecutionException.java index 2da938a8c7..a053c6e440 100644 --- a/src/main/java/com/google/devtools/build/lib/actions/ActionExecutionException.java +++ b/src/main/java/com/google/devtools/build/lib/actions/ActionExecutionException.java @@ -121,7 +121,7 @@ public class ActionExecutionException extends Exception { : NestedSetBuilder.<Cause>create( Order.STABLE_ORDER, new ActionFailed( - action.getPrimaryOutput().toString(), + action.getPrimaryOutput().getExecPath(), action.getOwner().getLabel(), action.getOwner().getConfigurationChecksum())); } diff --git a/src/main/java/com/google/devtools/build/lib/analysis/SourceManifestAction.java b/src/main/java/com/google/devtools/build/lib/analysis/SourceManifestAction.java index a2ba6867df..912037333d 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/SourceManifestAction.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/SourceManifestAction.java @@ -204,18 +204,18 @@ public final class SourceManifestAction extends AbstractFileWriteAction { fp.addInt(symlinks.size()); for (Map.Entry<PathFragment, Artifact> symlink : symlinks.entrySet()) { fp.addPath(symlink.getKey()); - fp.addPath(symlink.getValue().getPath()); + fp.addPath(symlink.getValue().getExecPath()); } Map<PathFragment, Artifact> rootSymlinks = runfiles.getRootSymlinksAsMap(null); fp.addInt(rootSymlinks.size()); for (Map.Entry<PathFragment, Artifact> rootSymlink : rootSymlinks.entrySet()) { fp.addPath(rootSymlink.getKey()); - fp.addPath(rootSymlink.getValue().getPath()); + fp.addPath(rootSymlink.getValue().getExecPath()); } for (Artifact artifact : runfiles.getArtifacts()) { fp.addPath(artifact.getRootRelativePath()); - fp.addPath(artifact.getPath()); + fp.addPath(artifact.getExecPath()); } } diff --git a/src/main/java/com/google/devtools/build/lib/analysis/actions/LauncherFileWriteAction.java b/src/main/java/com/google/devtools/build/lib/analysis/actions/LauncherFileWriteAction.java index fe880c65fa..ed1cdb17ae 100644 --- a/src/main/java/com/google/devtools/build/lib/analysis/actions/LauncherFileWriteAction.java +++ b/src/main/java/com/google/devtools/build/lib/analysis/actions/LauncherFileWriteAction.java @@ -89,11 +89,7 @@ public final class LauncherFileWriteAction extends AbstractFileWriteAction { @Override protected void computeKey(ActionKeyContext actionKeyContext, Fingerprint fp) { fp.addString(GUID); - try { - fp.addBytes(this.launcher.getPath().getDigest()); - } catch (IOException e) { - throw new RuntimeException(e); - } + fp.addPath(this.launcher.getExecPath()); fp.addString(this.launchInfo.fingerPrint); } diff --git a/src/main/java/com/google/devtools/build/lib/causes/ActionFailed.java b/src/main/java/com/google/devtools/build/lib/causes/ActionFailed.java index f1d6d26454..9200c18d0f 100644 --- a/src/main/java/com/google/devtools/build/lib/causes/ActionFailed.java +++ b/src/main/java/com/google/devtools/build/lib/causes/ActionFailed.java @@ -18,6 +18,7 @@ import com.google.devtools.build.lib.buildeventstream.BuildEventStreamProtos.Bui import com.google.devtools.build.lib.buildeventstream.BuildEventStreamProtos.BuildEventId.ActionCompletedId; import com.google.devtools.build.lib.buildeventstream.BuildEventStreamProtos.BuildEventId.ConfigurationId; import com.google.devtools.build.lib.cmdline.Label; +import com.google.devtools.build.lib.vfs.PathFragment; import javax.annotation.Nullable; /** @@ -25,20 +26,19 @@ import javax.annotation.Nullable; * the path to the primary output. For reference, a Label is attached as well. */ public class ActionFailed implements Cause { - private final String artifactStringRepresentation; + private final PathFragment execPath; private final Label label; private final String configurationChecksum; - public ActionFailed( - String artifactStringRepresentation, Label label, @Nullable String configurationChecksum) { - this.artifactStringRepresentation = artifactStringRepresentation; + public ActionFailed(PathFragment execPath, Label label, @Nullable String configurationChecksum) { + this.execPath = execPath; this.label = label; this.configurationChecksum = configurationChecksum; } @Override public String toString() { - return artifactStringRepresentation; + return execPath.toString(); } @Override @@ -49,7 +49,7 @@ public class ActionFailed implements Cause { @Override public BuildEventStreamProtos.BuildEventId getIdProto() { ActionCompletedId.Builder actionId = - ActionCompletedId.newBuilder().setPrimaryOutput(artifactStringRepresentation); + ActionCompletedId.newBuilder().setPrimaryOutput(execPath.toString()); if (label != null) { actionId.setLabel(label.toString()); } diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/CreateIncSymlinkAction.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/CreateIncSymlinkAction.java index 8e37da5bba..22d0a17d5a 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/CreateIncSymlinkAction.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/CreateIncSymlinkAction.java @@ -86,8 +86,8 @@ public final class CreateIncSymlinkAction extends AbstractAction { @Override public void computeKey(ActionKeyContext actionKeyContext, Fingerprint fp) { for (Map.Entry<Artifact, Artifact> entry : symlinks.entrySet()) { - fp.addPath(entry.getKey().getPath()); - fp.addPath(entry.getValue().getPath()); + fp.addPath(entry.getKey().getExecPath()); + fp.addPath(entry.getValue().getExecPath()); } } diff --git a/src/main/java/com/google/devtools/build/lib/rules/cpp/SolibSymlinkAction.java b/src/main/java/com/google/devtools/build/lib/rules/cpp/SolibSymlinkAction.java index ea9d03758e..f6cf4f7423 100644 --- a/src/main/java/com/google/devtools/build/lib/rules/cpp/SolibSymlinkAction.java +++ b/src/main/java/com/google/devtools/build/lib/rules/cpp/SolibSymlinkAction.java @@ -46,7 +46,6 @@ import java.io.IOException; @AutoCodec @Immutable public final class SolibSymlinkAction extends AbstractAction { - private final Path target; private final Artifact symlink; @VisibleForSerialization @@ -56,7 +55,6 @@ public final class SolibSymlinkAction extends AbstractAction { Preconditions.checkArgument(Link.SHARED_LIBRARY_FILETYPES.matches(primaryInput.getFilename())); this.symlink = Preconditions.checkNotNull(primaryOutput); - this.target = primaryInput.getPath(); } @Override @@ -64,18 +62,25 @@ public final class SolibSymlinkAction extends AbstractAction { throws ActionExecutionException { Path mangledPath = actionExecutionContext.getInputPath(symlink); try { - mangledPath.createSymbolicLink(target); + mangledPath.createSymbolicLink(actionExecutionContext.getInputPath(getPrimaryInput())); } catch (IOException e) { - throw new ActionExecutionException("failed to create _solib symbolic link '" - + symlink.prettyPrint() + "' to target '" + target + "'", e, this, false); + throw new ActionExecutionException( + "failed to create _solib symbolic link '" + + symlink.prettyPrint() + + "' to target '" + + getPrimaryInput() + + "'", + e, + this, + false); } return ActionResult.EMPTY; } @Override protected void computeKey(ActionKeyContext actionKeyContext, Fingerprint fp) { - fp.addPath(symlink.getPath()); - fp.addPath(target); + fp.addPath(symlink.getExecPath()); + fp.addPath(getPrimaryInput().getExecPath()); } @Override |