Don't run apex_available check for coverage builds
Coverage build adds extra dependencies for the runtime libs. Marking
them and their transitive dependenciese with apex_available doesn't make
any value; it instead adds noise.
Exempt-From-Owner-Approval: cherry-pick from AOSP
Bug: 150999716
Test: m
Merged-In: I08e51cec1de6ded624ef9d4c41c1e5b2e611ff38
(cherry picked from commit 58d10900322d8cfe4c810101436035f5e9cd498c)
Change-Id: I08e51cec1de6ded624ef9d4c41c1e5b2e611ff38
diff --git a/apex/apex.go b/apex/apex.go
index 9670f81..f394068 100644
--- a/apex/apex.go
+++ b/apex/apex.go
@@ -1796,6 +1796,13 @@
return
}
+ // Coverage build adds additional dependencies for the coverage-only runtime libraries.
+ // Requiring them and their transitive depencies with apex_available is not right
+ // because they just add noise.
+ if ctx.Config().IsEnvTrue("EMMA_INSTRUMENT") || a.IsNativeCoverageNeeded(ctx) {
+ return
+ }
+
a.walkPayloadDeps(ctx, func(ctx android.ModuleContext, from blueprint.Module, to android.ApexModule, externalDep bool) {
apexName := ctx.ModuleName()
fromName := ctx.OtherModuleName(from)