diff options
author | 2016-02-12 14:41:05 +0000 | |
---|---|---|
committer | 2016-02-12 15:25:33 +0000 | |
commit | dfe2f10e28376407db239f867fb39629b35bf8ad (patch) | |
tree | c08ed71ae4f52aab00c6151bb4b207e82e8fc17a /src/main/java/com/google/devtools/build/lib/analysis/SymlinkTreeAction.java | |
parent | 0032f17ba372b96201d36ea5716eb994ac3dcf28 (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.java | 18 |
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); } } |