diff options
author | elenairina <elenairina@google.com> | 2018-06-11 08:25:41 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-06-11 08:27:22 -0700 |
commit | e28c0ab84c7967e10cc3cd5333560c54653084bd (patch) | |
tree | 9a66b0192d9049d16956218ca3bafc65af1de63f /tools/test/LcovMerger/java/com/google/devtools/lcovmerger/BUILD | |
parent | bbf3e421ed8b2b431a72cd3ab4ba591dc8833634 (diff) |
Implement LcovMerger.
LcovMerger is a tool that merges all the intermediate lcov tracefiles (with .dat extension) found under a coverage directory and prints the merged tracefile to a given output file.
A custom implementation for merging lcov tracefiles is needed because the merging functionality of lcov itself is very slow.
LcovMerger is required to get a single coverage report (lcov tracefile) from a bazel coverage command that executes multiple tests.
ATM LcovMerger is only invoked by tools/test/collect_coverage.sh that collects and merges the tracefiles from a single test invocation. It will also be used from a CoverageReportAction.
Progress on #5246.
PiperOrigin-RevId: 200054506
Diffstat (limited to 'tools/test/LcovMerger/java/com/google/devtools/lcovmerger/BUILD')
-rw-r--r-- | tools/test/LcovMerger/java/com/google/devtools/lcovmerger/BUILD | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/tools/test/LcovMerger/java/com/google/devtools/lcovmerger/BUILD b/tools/test/LcovMerger/java/com/google/devtools/lcovmerger/BUILD new file mode 100644 index 0000000000..b7d4d7b08c --- /dev/null +++ b/tools/test/LcovMerger/java/com/google/devtools/lcovmerger/BUILD @@ -0,0 +1,106 @@ +package( + default_visibility = [ + "//tools/test/LcovMerger/javatests/com/google/devtools/lcovmerger:__pkg__", + ], +) + +licenses(["notice"]) # Apache 2.0 + +java_library( + name = "BranchCoverage", + srcs = ["BranchCoverage.java"], + deps = [ + "//third_party:auto_value", + ], +) + +java_library( + name = "LineCoverage", + srcs = ["LineCoverage.java"], + deps = [ + "//third_party:auto_value", + "//third_party:jsr305", + ], +) + +java_library( + name = "SourceFileCoverage", + srcs = ["SourceFileCoverage.java"], + deps = [ + ":BranchCoverage", + ":LineCoverage", + "//third_party:auto_value", + "//third_party:guava", + "//third_party:jsr305", + ], +) + +java_library( + name = "LcovPrinter", + srcs = ["LcovPrinter.java"], + deps = [ + ":BranchCoverage", + ":Coverage", + ":LcovConstants", + ":LineCoverage", + ":SourceFileCoverage", + "//third_party:guava", + ], +) + +java_library( + name = "LcovConstants", + srcs = ["LcovConstants.java"], +) + +java_library( + name = "LcovParser", + srcs = ["LcovParser.java"], + deps = [ + ":BranchCoverage", + ":LcovConstants", + ":LineCoverage", + ":SourceFileCoverage", + ], +) + +java_library( + name = "Coverage", + srcs = ["Coverage.java"], + deps = [":SourceFileCoverage"], +) + +java_library( + name = "MainLibrary", + srcs = ["Main.java"], + deps = [ + ":Coverage", + ":LcovConstants", + ":LcovParser", + ":LcovPrinter", + ":SourceFileCoverage", + "//third_party:guava", + ], +) + +java_binary( + name = "Main", + srcs = ["Main.java"], + main_class = "com.google.devtools.lcovmerger.Main", + visibility = ["//visibility:public"], + deps = [ + ":Coverage", + ":LcovConstants", + ":LcovParser", + ":LcovPrinter", + ":MainLibrary", + ":SourceFileCoverage", + "//third_party:guava", + ], +) + +filegroup( + name = "srcs", + srcs = glob(["**"]), + visibility = ["//visibility:public"], +) |