From ada1270ef8796ff436a08ff958033c9c51b94bd9 Mon Sep 17 00:00:00 2001 From: Roland Levillain Date: Tue, 9 Jun 2020 13:07:36 +0100 Subject: Introduce product variables to select Java code coverage paths in Soong. Introduce product variables `JavaCoveragePaths` and `JavaCoverageExcludePaths` (resp. populated from environment variables `JAVA_COVERAGE_PATHS` and `JAVA_COVERAGE_EXCLUDE_PATHS`). Use them to control which Java modules are candidate for instrumentation based on their source path. By default (when `JavaCoveragePaths` is empty), have all Java module be candidate for instrumentation, to preserve the existing behavior. Test: export EMMA_INSTRUMENT=true \ && export EMMA_INSTRUMENT_FRAMEWORK=true \ && export JAVA_COVERAGE_PATHS=art \ && m Bug: 158212027 Bug: 156284897 Change-Id: Ibe9c1f41ed6110867411952689c5a7ad6536f277 --- android/variable.go | 3 +++ 1 file changed, 3 insertions(+) (limited to 'android/variable.go') diff --git a/android/variable.go b/android/variable.go index 4440ceeed..863fe5a09 100644 --- a/android/variable.go +++ b/android/variable.go @@ -266,6 +266,9 @@ type productVariables struct { SamplingPGO *bool `json:",omitempty"` + JavaCoveragePaths []string `json:",omitempty"` + JavaCoverageExcludePaths []string `json:",omitempty"` + NativeLineCoverage *bool `json:",omitempty"` Native_coverage *bool `json:",omitempty"` ClangCoverage *bool `json:",omitempty"` -- cgit v1.2.3-59-g8ed1b