aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/java_tools/junitrunner
diff options
context:
space:
mode:
authorGravatar Lukacs Berki <lberki@google.com>2017-01-17 10:58:06 +0000
committerGravatar Vladimir Moskva <vladmos@google.com>2017-01-17 12:16:09 +0000
commitc0be64464b97ea011b4b4ad901515aac1dc97b4c (patch)
tree5316a1f86fb83efe0a1a36301e7202838f680bd5 /src/java_tools/junitrunner
parentb762afd7b3fe7d3f44444d8495b4fefab8cbc743 (diff)
Jarjar the third-party dependencies of the Jacoco test runner.
This is the second encore of commit 823091f7516abf7d854021edc765daf1467f1647. The first one failed because jarjar tried to write to C:\WINDOWS , the second one failed because cygpath does not always return a proper temp directory, the third one failed because the bash quoting doesn't handle $ signs in directories (fixed in commit 35a37e0429add201342dd1d005bc9286c53c02c3). Fourth time is the charm! -- PiperOrigin-RevId: 144689400 MOS_MIGRATED_REVID=144689400
Diffstat (limited to 'src/java_tools/junitrunner')
-rw-r--r--src/java_tools/junitrunner/java/com/google/testing/coverage/BUILD33
-rw-r--r--src/java_tools/junitrunner/java/com/google/testing/coverage/JacocoCoverage.jarjar2
2 files changed, 34 insertions, 1 deletions
diff --git a/src/java_tools/junitrunner/java/com/google/testing/coverage/BUILD b/src/java_tools/junitrunner/java/com/google/testing/coverage/BUILD
index 319f13b6d2..89fc2fc5c3 100644
--- a/src/java_tools/junitrunner/java/com/google/testing/coverage/BUILD
+++ b/src/java_tools/junitrunner/java/com/google/testing/coverage/BUILD
@@ -22,7 +22,7 @@ filegroup(
filegroup(
name = "embedded_tools",
srcs = [
- "JacocoCoverage_deploy.jar",
+ "JacocoCoverage_jarjar_deploy.jar",
],
)
@@ -68,3 +68,34 @@ java_library(
"//third_party:apache_commons_lang",
],
)
+
+genrule(
+ name = "Jacoco_jarjar",
+ srcs = [
+ ":JacocoCoverage_deploy.jar",
+ ":JacocoCoverage.jarjar",
+ ],
+ outs = ["JacocoCoverage_jarjar_deploy.jar"],
+ cmd = "\n".join([
+ # File#createTempFile() apparently tries to create the temp file under
+ # C:\WINDOWS by default on Windows, which is not writable. Help Java a bit.
+ # https://github.com/bazelbuild/bazel/issues/2349 will be a general
+ # solution for creating temp files in Java binaries in actions. Once
+ # that's fixed, we won't need to set TEMP here anymore.
+ "set +e",
+ "if [[ $$(uname -a) =~ MSYS ]]; then",
+ " DOS_TEMP=\"$$(cygpath -m --mydocs)/temp\";",
+ " PATH_DOS=$$?;",
+ " UNIX_TEMP=\"$$(cygpath -u --mydocs)/temp\";",
+ " if [[ $$? != 0 || $$PATH_DOS != 0 ]]; then",
+ " echo Cannot find temp directory, defaulting to /c/temp;",
+ " export DOS_TEMP=C:\\\\TEMP;",
+ " UNIX_TEMP=/c/temp;",
+ " fi",
+ " export TEMP=\"$$DOS_TEMP\";",
+ " mkdir -p \"$$UNIX_TEMP\";",
+ "fi",
+ "\"$(location //third_party/java/jarjar:jarjar_bin)\" process \"$(location :JacocoCoverage.jarjar)\" \"$(location :JacocoCoverage_deploy.jar)\" \"$@\"",
+ ]),
+ tools = ["//third_party/java/jarjar:jarjar_bin"],
+)
diff --git a/src/java_tools/junitrunner/java/com/google/testing/coverage/JacocoCoverage.jarjar b/src/java_tools/junitrunner/java/com/google/testing/coverage/JacocoCoverage.jarjar
new file mode 100644
index 0000000000..56190d874c
--- /dev/null
+++ b/src/java_tools/junitrunner/java/com/google/testing/coverage/JacocoCoverage.jarjar
@@ -0,0 +1,2 @@
+rule org.apache.commons.** com.google.testing.coverage.jarjar.@0
+rule org.objectweb.asm.** com.google.testing.coverage.jarjar.@0