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
This commit is contained in:
@@ -601,7 +601,9 @@ type jniLib struct {
|
||||
}
|
||||
|
||||
func (j *Module) shouldInstrument(ctx android.BaseModuleContext) bool {
|
||||
return j.properties.Instrument && ctx.Config().IsEnvTrue("EMMA_INSTRUMENT")
|
||||
return j.properties.Instrument &&
|
||||
ctx.Config().IsEnvTrue("EMMA_INSTRUMENT") &&
|
||||
ctx.DeviceConfig().JavaCoverageEnabledForPath(ctx.ModuleDir())
|
||||
}
|
||||
|
||||
func (j *Module) shouldInstrumentStatic(ctx android.BaseModuleContext) bool {
|
||||
|
Reference in New Issue
Block a user