aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--src/main/java/com/google/devtools/build/lib/bazel/rules/java/java_stub_template.txt5
-rw-r--r--src/test/py/bazel/launcher_test.py15
2 files changed, 18 insertions, 2 deletions
diff --git a/src/main/java/com/google/devtools/build/lib/bazel/rules/java/java_stub_template.txt b/src/main/java/com/google/devtools/build/lib/bazel/rules/java/java_stub_template.txt
index ba35a95e46..d5495c00b6 100644
--- a/src/main/java/com/google/devtools/build/lib/bazel/rules/java/java_stub_template.txt
+++ b/src/main/java/com/google/devtools/build/lib/bazel/rules/java/java_stub_template.txt
@@ -173,8 +173,9 @@ if is_windows; then
JAVA_RUNFILES=$(cygpath --windows "$JAVA_RUNFILES")
fi
-RUNFILES_MANIFEST_FILE="${JAVA_RUNFILES}/MANIFEST"
-RUNFILES_MANIFEST_ONLY=%runfiles_manifest_only%
+export JAVA_RUNFILES
+export RUNFILES_MANIFEST_FILE="${JAVA_RUNFILES}/MANIFEST"
+export RUNFILES_MANIFEST_ONLY=%runfiles_manifest_only%
if [ -z "$RUNFILES_MANIFEST_ONLY" ]; then
function rlocation() {
diff --git a/src/test/py/bazel/launcher_test.py b/src/test/py/bazel/launcher_test.py
index 6c92dd7c0c..a093b26868 100644
--- a/src/test/py/bazel/launcher_test.py
+++ b/src/test/py/bazel/launcher_test.py
@@ -35,6 +35,12 @@ class LauncherTest(test_base.TestBase):
'public class Main {',
' public static void main(String[] args) {'
' System.out.println("hello java");',
+ ' System.out.println("java_runfiles=" + ',
+ ' System.getenv("JAVA_RUNFILES"));',
+ ' System.out.println("runfiles_manifest_only=" + ',
+ ' System.getenv("RUNFILES_MANIFEST_ONLY"));',
+ ' System.out.println("runfiles_manifest_file=" + ',
+ ' System.getenv("RUNFILES_MANIFEST_FILE"));',
' }',
'}',
])
@@ -65,7 +71,16 @@ class LauncherTest(test_base.TestBase):
exit_code, stdout, stderr = self.RunProgram([main_binary])
self.AssertExitCode(exit_code, 0, stderr)
+ self.assertEqual(len(stdout), 4)
self.assertEqual(stdout[0], 'hello java')
+ if self.IsWindows():
+ self.assertRegexpMatches(stdout[1], r'java_runfiles=.*foo\\foo.runfiles')
+ self.assertEqual(stdout[2], 'runfiles_manifest_only=1')
+ self.assertRegexpMatches(stdout[3], r'^runfiles_manifest_file.*MANIFEST$')
+ else:
+ self.assertRegexpMatches(stdout[1], r'java_runfiles=.*/foo/foo.runfiles')
+ self.assertEqual(stdout[2], 'runfiles_manifest_only=')
+ self.assertRegexpMatches(stdout[3], r'^runfiles_manifest_file.*MANIFEST$')
def testShBinaryLauncher(self):
self.ScratchFile('WORKSPACE')