aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/main/java/com/google/devtools/build/lib/analysis/SymlinkTreeAction.java
diff options
context:
space:
mode:
authorGravatar Dmitry Lomov <dslomov@google.com>2016-02-12 14:41:05 +0000
committerGravatar Dmitry Lomov <dslomov@google.com>2016-02-12 15:25:33 +0000
commitdfe2f10e28376407db239f867fb39629b35bf8ad (patch)
treec08ed71ae4f52aab00c6151bb4b207e82e8fc17a /src/main/java/com/google/devtools/build/lib/analysis/SymlinkTreeAction.java
parent0032f17ba372b96201d36ea5716eb994ac3dcf28 (diff)
Windows: execute build-runfiles through shell.
Needed for #276. -- MOS_MIGRATED_REVID=114529775
Diffstat (limited to 'src/main/java/com/google/devtools/build/lib/analysis/SymlinkTreeAction.java')
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/SymlinkTreeAction.java18
1 files changed, 14 insertions, 4 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/SymlinkTreeAction.java b/src/main/java/com/google/devtools/build/lib/analysis/SymlinkTreeAction.java
index 17591e0265..05f8ccd466 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/SymlinkTreeAction.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/SymlinkTreeAction.java
@@ -23,6 +23,7 @@ import com.google.devtools.build.lib.actions.Executor;
import com.google.devtools.build.lib.actions.ResourceSet;
import com.google.devtools.build.lib.util.Fingerprint;
import com.google.devtools.build.lib.util.Preconditions;
+import com.google.devtools.build.lib.vfs.PathFragment;
import javax.annotation.Nullable;
@@ -37,6 +38,7 @@ public class SymlinkTreeAction extends AbstractAction {
private final Artifact inputManifest;
private final Artifact outputManifest;
private final boolean filesetTree;
+ private final PathFragment shExecutable;
/**
* Creates SymlinkTreeAction instance.
@@ -52,13 +54,19 @@ public class SymlinkTreeAction extends AbstractAction {
* @param filesetTree true if this is fileset symlink tree,
* false if this is a runfiles symlink tree.
*/
- public SymlinkTreeAction(ActionOwner owner, Artifact inputManifest,
- @Nullable Artifact artifactMiddleman, Artifact outputManifest, boolean filesetTree) {
+ public SymlinkTreeAction(
+ ActionOwner owner,
+ Artifact inputManifest,
+ @Nullable Artifact artifactMiddleman,
+ Artifact outputManifest,
+ boolean filesetTree,
+ PathFragment shExecutable) {
super(owner, computeInputs(inputManifest, artifactMiddleman), ImmutableList.of(outputManifest));
Preconditions.checkArgument(outputManifest.getPath().getBaseName().equals("MANIFEST"));
this.inputManifest = inputManifest;
this.outputManifest = outputManifest;
this.filesetTree = filesetTree;
+ this.shExecutable = shExecutable;
}
private static ImmutableList<Artifact> computeInputs(
@@ -114,7 +122,9 @@ public class SymlinkTreeAction extends AbstractAction {
public void execute(
ActionExecutionContext actionExecutionContext)
throws ActionExecutionException, InterruptedException {
- actionExecutionContext.getExecutor().getContext(SymlinkTreeActionContext.class)
- .createSymlinks(this, actionExecutionContext);
+ actionExecutionContext
+ .getExecutor()
+ .getContext(SymlinkTreeActionContext.class)
+ .createSymlinks(this, actionExecutionContext, shExecutable);
}
}