aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Ulf Adams <ulfjack@google.com>2017-02-17 14:17:47 +0000
committerGravatar Dmitry Lomov <dslomov@google.com>2017-02-17 14:57:18 +0000
commit75639985d593f683ba13d2ceb38ec310662fb56b (patch)
tree3df2149a21ff636b819c3fbfc1f4bda89385909c
parentc0cb3fe3e746a36a07419fad4c70b459cc0ff23e (diff)
Fix --run_under to work with labels that describe source or output files
Before this change, running with --run_under=//foo:foo.sh gave an error, if foo.sh is an executable shell script. -- PiperOrigin-RevId: 147831484 MOS_MIGRATED_REVID=147831484
-rw-r--r--src/main/java/com/google/devtools/build/lib/analysis/RunfilesSupport.java8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/analysis/RunfilesSupport.java b/src/main/java/com/google/devtools/build/lib/analysis/RunfilesSupport.java
index c332b958a3..e53fc3efbd 100644
--- a/src/main/java/com/google/devtools/build/lib/analysis/RunfilesSupport.java
+++ b/src/main/java/com/google/devtools/build/lib/analysis/RunfilesSupport.java
@@ -101,7 +101,7 @@ public final class RunfilesSupport {
ruleContext.getPrerequisite(":run_under", Mode.DATA);
runfiles = new Runfiles.Builder(
ruleContext.getWorkspaceName(), ruleContext.getConfiguration().legacyExternalRunfiles())
- .merge(getRunfiles(runUnderTarget))
+ .merge(getRunfiles(runUnderTarget, ruleContext.getWorkspaceName()))
.merge(runfiles)
.build();
}
@@ -345,12 +345,14 @@ public final class RunfilesSupport {
*
* @return the Runfiles object
*/
- private static Runfiles getRunfiles(TransitiveInfoCollection target) {
+ private static Runfiles getRunfiles(TransitiveInfoCollection target, String workspaceName) {
RunfilesProvider runfilesProvider = target.getProvider(RunfilesProvider.class);
if (runfilesProvider != null) {
return runfilesProvider.getDefaultRunfiles();
} else {
- return Runfiles.EMPTY;
+ return new Runfiles.Builder(workspaceName)
+ .addArtifacts(target.getProvider(FilesToRunProvider.class).getFilesToRun())
+ .build();
}
}