diff options
author | 2017-02-17 14:17:47 +0000 | |
---|---|---|
committer | 2017-02-17 14:57:18 +0000 | |
commit | 75639985d593f683ba13d2ceb38ec310662fb56b (patch) | |
tree | 3df2149a21ff636b819c3fbfc1f4bda89385909c /src/main/java | |
parent | c0cb3fe3e746a36a07419fad4c70b459cc0ff23e (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
Diffstat (limited to 'src/main/java')
-rw-r--r-- | src/main/java/com/google/devtools/build/lib/analysis/RunfilesSupport.java | 8 |
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(); } } |