Revert "Revert "Automated NDK API coverage used by Mainline modules build integration.""

This reverts commit 556b2ad77e.

Original change-id: Ib1b2f0dd2f9ae85b1545c6cc5bb4c5bbdfac1c15

Reason for revert: Add excutable permission to the gen_ndk_backedby_apex.sh.

Test: TARGET_BUILD_APPS=com.android.adbd m dist apps_only

Change-Id: Ib587ba200cd7f2f61d478452b43c329d72b2de06
This commit is contained in:
sophiez
2021-01-09 01:03:42 +00:00
parent 55e8815fb8
commit 6bde0b5f9d
4 changed files with 83 additions and 6 deletions

View File

@@ -422,12 +422,21 @@ func (a *apexBundle) androidMkForType() android.AndroidMkData {
fmt.Fprintf(w, dist)
}
if a.coverageOutputPath.String() != "" {
if a.apisUsedByModuleFile.String() != "" {
goal := "apps_only"
distFile := a.coverageOutputPath.String()
distFile := a.apisUsedByModuleFile.String()
fmt.Fprintf(w, "ifneq (,$(filter $(my_register_name),$(TARGET_BUILD_APPS)))\n"+
" $(call dist-for-goals,%s,%s:ndk_apis_usedby_apex/$(notdir %s))\n"+
"endif",
"endif\n",
goal, distFile, distFile)
}
if a.apisBackedByModuleFile.String() != "" {
goal := "apps_only"
distFile := a.apisBackedByModuleFile.String()
fmt.Fprintf(w, "ifneq (,$(filter $(my_register_name),$(TARGET_BUILD_APPS)))\n"+
" $(call dist-for-goals,%s,%s:ndk_apis_backedby_apex/$(notdir %s))\n"+
"endif\n",
goal, distFile, distFile)
}
}

View File

@@ -355,7 +355,8 @@ type apexBundle struct {
prebuiltFileToDelete string
// Path of API coverage generate file
coverageOutputPath android.ModuleOutPath
apisUsedByModuleFile android.ModuleOutPath
apisBackedByModuleFile android.ModuleOutPath
}
// apexFileClass represents a type of file that can be included in APEX.

View File

@@ -686,7 +686,7 @@ func (a *apexBundle) buildUnflattenedApex(ctx android.ModuleContext) {
implicitInputs = append(implicitInputs, unsignedOutputFile)
// Run coverage analysis
apisUsedbyOutputFile := android.PathForModuleOut(ctx, a.Name()+".txt")
apisUsedbyOutputFile := android.PathForModuleOut(ctx, a.Name()+"_using.txt")
ctx.Build(pctx, android.BuildParams{
Rule: generateAPIsUsedbyApexRule,
Implicits: implicitInputs,
@@ -697,7 +697,19 @@ func (a *apexBundle) buildUnflattenedApex(ctx android.ModuleContext) {
"readelf": "${config.ClangBin}/llvm-readelf",
},
})
a.coverageOutputPath = apisUsedbyOutputFile
a.apisUsedByModuleFile = apisUsedbyOutputFile
apisBackedbyOutputFile := android.PathForModuleOut(ctx, a.Name()+"_backing.txt")
ndkLibraryList := android.PathForSource(ctx, "system/core/rootdir/etc/public.libraries.android.txt")
rule := android.NewRuleBuilder(pctx, ctx)
rule.Command().
Tool(android.PathForSource(ctx, "build/soong/scripts/gen_ndk_backedby_apex.sh")).
Text(imageDir.String()).
Implicits(implicitInputs).
Output(apisBackedbyOutputFile).
Input(ndkLibraryList)
rule.Build("ndk_backedby_list", "Generate API libraries backed by Apex")
a.apisBackedByModuleFile = apisBackedbyOutputFile
bundleConfig := a.buildBundleConfig(ctx)