Loading apex/apex.go +6 −0 Original line number Diff line number Diff line Loading @@ -699,6 +699,12 @@ func (a *apexBundle) DepsMutator(ctx android.BottomUpMutatorContext) { 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 Loading java/dexpreopt_bootjars.go +3 −11 Original line number Diff line number Diff line Loading @@ -178,12 +178,6 @@ func skipDexpreoptBootJars(ctx android.PathContext) bool { 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 Loading @@ -193,7 +187,7 @@ type dexpreoptBootJars struct { // 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 Loading Loading @@ -222,10 +216,8 @@ func (d *dexpreoptBootJars) GenerateBuildActions(ctx android.SingletonContext) { // 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))) } if global.GenerateApexImage { // Create boot images for the JIT-zygote experiment. d.otherImages = append(d.otherImages, buildBootImage(ctx, apexBootImageConfig(ctx))) Loading java/dexpreopt_config.go +4 −0 Original line number Diff line number Diff line Loading @@ -136,6 +136,10 @@ func genBootImageConfigs(ctx android.PathContext) map[string]*bootImageConfig { deviceDir := android.PathForOutput(ctx, ctx.Config().DeviceName()) artModules := global.ArtApexJars // With EMMA_INSTRUMENT_FRAMEWORK=true the Core libraries depend on jacoco. if ctx.Config().IsEnvTrue("EMMA_INSTRUMENT_FRAMEWORK") { artModules = append(artModules, "jacocoagent") } frameworkModules := android.RemoveListFromList(global.BootJars, concat(artModules, getJarsFromApexJarPairs(global.UpdatableBootJars))) Loading Loading
apex/apex.go +6 −0 Original line number Diff line number Diff line Loading @@ -699,6 +699,12 @@ func (a *apexBundle) DepsMutator(ctx android.BottomUpMutatorContext) { 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 Loading
java/dexpreopt_bootjars.go +3 −11 Original line number Diff line number Diff line Loading @@ -178,12 +178,6 @@ func skipDexpreoptBootJars(ctx android.PathContext) bool { 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 Loading @@ -193,7 +187,7 @@ type dexpreoptBootJars struct { // 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 Loading Loading @@ -222,10 +216,8 @@ func (d *dexpreoptBootJars) GenerateBuildActions(ctx android.SingletonContext) { // 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))) } if global.GenerateApexImage { // Create boot images for the JIT-zygote experiment. d.otherImages = append(d.otherImages, buildBootImage(ctx, apexBootImageConfig(ctx))) Loading
java/dexpreopt_config.go +4 −0 Original line number Diff line number Diff line Loading @@ -136,6 +136,10 @@ func genBootImageConfigs(ctx android.PathContext) map[string]*bootImageConfig { deviceDir := android.PathForOutput(ctx, ctx.Config().DeviceName()) artModules := global.ArtApexJars // With EMMA_INSTRUMENT_FRAMEWORK=true the Core libraries depend on jacoco. if ctx.Config().IsEnvTrue("EMMA_INSTRUMENT_FRAMEWORK") { artModules = append(artModules, "jacocoagent") } frameworkModules := android.RemoveListFromList(global.BootJars, concat(artModules, getJarsFromApexJarPairs(global.UpdatableBootJars))) Loading