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/java/dexpreopt_bootjars.go b/java/dexpreopt_bootjars.go
index 1d363c9..88e3bc2 100644
--- a/java/dexpreopt_bootjars.go
+++ b/java/dexpreopt_bootjars.go
@@ -178,12 +178,6 @@
return false
}
-func skipDexpreoptArtBootJars(ctx android.BuilderContext) bool {
- // with EMMA_INSTRUMENT_FRAMEWORK=true ART boot class path libraries have dependencies on framework,
- // therefore dexpreopt ART libraries cannot be dexpreopted in isolation => no ART boot image
- return ctx.Config().IsEnvTrue("EMMA_INSTRUMENT_FRAMEWORK")
-}
-
type dexpreoptBootJars struct {
defaultBootImage *bootImage
otherImages []*bootImage
@@ -193,7 +187,7 @@
// Accessor function for the apex package. Returns nil if dexpreopt is disabled.
func DexpreoptedArtApexJars(ctx android.BuilderContext) map[android.ArchType]android.OutputPaths {
- if skipDexpreoptBootJars(ctx) || skipDexpreoptArtBootJars(ctx) {
+ if skipDexpreoptBootJars(ctx) {
return nil
}
return artBootImageConfig(ctx).imagesDeps
@@ -222,10 +216,8 @@
// Always create the default boot image first, to get a unique profile rule for all images.
d.defaultBootImage = buildBootImage(ctx, defaultBootImageConfig(ctx))
- if !skipDexpreoptArtBootJars(ctx) {
- // Create boot image for the ART apex (build artifacts are accessed via the global boot image config).
- d.otherImages = append(d.otherImages, buildBootImage(ctx, artBootImageConfig(ctx)))
- }
+ // Create boot image for the ART apex (build artifacts are accessed via the global boot image config).
+ d.otherImages = append(d.otherImages, buildBootImage(ctx, artBootImageConfig(ctx)))
if global.GenerateApexImage {
// Create boot images for the JIT-zygote experiment.
d.otherImages = append(d.otherImages, buildBootImage(ctx, apexBootImageConfig(ctx)))