Add JacocoCoverageRunner to junitrunner.
(series 3/4 of open-sourcing coverage command for java test)
--
PiperOrigin-RevId: 141046146
MOS_MIGRATED_REVID=141046146
diff --git a/src/java_tools/junitrunner/java/com/google/testing/coverage/BUILD b/src/java_tools/junitrunner/java/com/google/testing/coverage/BUILD
new file mode 100644
index 0000000..863bcc0
--- /dev/null
+++ b/src/java_tools/junitrunner/java/com/google/testing/coverage/BUILD
@@ -0,0 +1,71 @@
+package(
+ default_visibility = ["//visibility:legacy_public"],
+)
+
+licenses(["notice"])
+
+filegroup(
+ name = "bazel-srcs",
+ testonly = 0,
+ srcs = glob([
+ "**/*.java",
+ "BUILD.tools",
+ ]),
+ visibility = ["//third_party/bazel:__subpackages__"],
+)
+
+filegroup(
+ name = "srcs",
+ srcs = glob(["**"]),
+)
+
+filegroup(
+ name = "embedded_tools",
+ srcs = [
+ "BUILD.tools",
+ "JacocoCoverage_deploy.jar",
+ ],
+)
+
+filegroup(
+ name = "jacoco_coverage_runtime",
+ srcs = ["JacocoCoverage_deploy.jar"],
+)
+
+# Bazel custom Jacoco runner used to provide proper initialization and lcov
+# report generation when using offline Jacoco instrumentation.
+# This target should not be used as a dependency (except when writing tests for
+# it).
+#
+# An implicit dependency of all "java_binary" rules.
+java_binary(
+ name = "JacocoCoverage",
+ srcs = [
+ "BranchCoverageDetail.java",
+ "BranchDetailAnalyzer.java",
+ "BranchExp.java",
+ "ClassProbesMapper.java",
+ "CovExp.java",
+ "JacocoCoverageRunner.java",
+ "JacocoLCOVFormatter.java",
+ "MethodProbesMapper.java",
+ "ProbeExp.java",
+ ],
+ deps = [
+ ":bitfield",
+ "//third_party/java/jacoco:blaze-agent-neverlink",
+ "//third_party/java/jacoco:core",
+ "//third_party/java/jacoco:report",
+ ],
+)
+
+java_library(
+ name = "bitfield",
+ srcs = [
+ "BitField.java",
+ "IllegalStringException.java",
+ ],
+ deps = [
+ "//third_party:apache_commons_lang",
+ ],
+)