Include jacoco in the ART boot image if EMMA_INSTRUMENT_FRAMEWORK=true.
Test: aosp_walleye-userdebug boots.
Test: Coverage build boots:
$ lunch aosp_walleye-userdebug
$ cd $ANDROID_BUILD_TOP
$ build/soong/soong_ui.bash --make-mode droid \
SKIP_ABI_CHECKS=true \
TARGET_PRODUCT=aosp_walleye \
TARGET_BUILD_VARIANT=userdebug \
EMMA_INSTRUMENT=true \
NATIVE_COVERAGE=true
$ adb reboot bootloader && fastboot flashall -w
Test: Coverage build with framework coverage boots:
$ lunch aosp_walleye-userdebug
$ cd $ANDROID_BUILD_TOP
$ build/soong/soong_ui.bash --make-mode droid \
SKIP_ABI_CHECKS=true \
TARGET_PRODUCT=aosp_walleye \
TARGET_BUILD_VARIANT=userdebug \
EMMA_INSTRUMENT=true \
EMMA_INSTRUMENT_FRAMEWORK=true \
NATIVE_COVERAGE=true
$ adb reboot bootloader && fastboot flashall -w
Test: Static coverage build with framework coverage boots:
$ lunch aosp_walleye-userdebug
$ cd $ANDROID_BUILD_TOP
$ build/soong/soong_ui.bash --make-mode droid \
SKIP_ABI_CHECKS=true \
TARGET_PRODUCT=aosp_walleye \
TARGET_BUILD_VARIANT=userdebug \
EMMA_INSTRUMENT=true \
EMMA_INSTRUMENT_FRAMEWORK=true \
EMMA_INSTRUMENT_STATIC=true \
NATIVE_COVERAGE=true
$ adb reboot bootloader && fastboot flashall -w
Change-Id: Iaa198b8505aaff36e6685559642ff721637ce55f
diff --git a/apex/apex.go b/apex/apex.go
index b27b54e..55f67e7 100644
--- a/apex/apex.go
+++ b/apex/apex.go
@@ -692,6 +692,12 @@
ctx.AddFarVariationDependencies(ctx.Config().AndroidCommonTarget.Variations(),
javaLibTag, a.properties.Java_libs...)
+ // With EMMA_INSTRUMENT_FRAMEWORK=true the ART boot image includes jacoco library.
+ if a.artApex && ctx.Config().IsEnvTrue("EMMA_INSTRUMENT_FRAMEWORK") {
+ ctx.AddFarVariationDependencies(ctx.Config().AndroidCommonTarget.Variations(),
+ javaLibTag, "jacocoagent")
+ }
+
if String(a.properties.Key) == "" {
ctx.ModuleErrorf("key is missing")
return