Don't track modules that are only available to APEXes.
Modules that are not available for platform are developed with
updatability in mind, and do not require manual approvals.
Bug: 181223240
Test: checkbuild
Change-Id: I10b91053b3ef5a9ff5400d9d7a68fae3144a671c
Merged-In: I10b91053b3ef5a9ff5400d9d7a68fae3144a671c
(cherry picked from commit 533b98cde3
)
This commit is contained in:
parent
9c2890cac3
commit
55bf387f54
|
@ -442,6 +442,8 @@ func (d *ApexBundleDepsInfo) FullListPath() Path {
|
|||
// Generate two module out files:
|
||||
// 1. FullList with transitive deps and their parents in the dep graph
|
||||
// 2. FlatList with a flat list of transitive deps
|
||||
// In both cases transitive deps of external deps are not included. Neither are deps that are only
|
||||
// available to APEXes; they are developed with updatability in mind and don't need manual approval.
|
||||
func (d *ApexBundleDepsInfo) BuildDepsInfoLists(ctx ModuleContext, minSdkVersion string, depInfos DepNameToDepInfoMap) {
|
||||
var fullContent strings.Builder
|
||||
var flatContent strings.Builder
|
||||
|
|
|
@ -536,14 +536,12 @@ func TestBasicApex(t *testing.T) {
|
|||
|
||||
fullDepsInfo := strings.Split(ctx.ModuleForTests("myapex", "android_common_myapex_image").Output("depsinfo/fulllist.txt").Args["content"], "\\n")
|
||||
ensureListContains(t, fullDepsInfo, " myjar(minSdkVersion:(no version)) <- myapex")
|
||||
ensureListContains(t, fullDepsInfo, " mylib(minSdkVersion:(no version)) <- myapex")
|
||||
ensureListContains(t, fullDepsInfo, " mylib2(minSdkVersion:(no version)) <- mylib")
|
||||
ensureListContains(t, fullDepsInfo, " myotherjar(minSdkVersion:(no version)) <- myjar")
|
||||
ensureListContains(t, fullDepsInfo, " mysharedjar(minSdkVersion:(no version)) (external) <- myjar")
|
||||
|
||||
flatDepsInfo := strings.Split(ctx.ModuleForTests("myapex", "android_common_myapex_image").Output("depsinfo/flatlist.txt").Args["content"], "\\n")
|
||||
ensureListContains(t, flatDepsInfo, "myjar(minSdkVersion:(no version))")
|
||||
ensureListContains(t, flatDepsInfo, "mylib(minSdkVersion:(no version))")
|
||||
ensureListContains(t, flatDepsInfo, "mylib2(minSdkVersion:(no version))")
|
||||
ensureListContains(t, flatDepsInfo, "myotherjar(minSdkVersion:(no version))")
|
||||
ensureListContains(t, flatDepsInfo, "mysharedjar(minSdkVersion:(no version)) (external)")
|
||||
|
@ -857,13 +855,9 @@ func TestApexWithExplicitStubsDependency(t *testing.T) {
|
|||
ensureNotContains(t, libFooStubsLdFlags, "libbar.so")
|
||||
|
||||
fullDepsInfo := strings.Split(ctx.ModuleForTests("myapex2", "android_common_myapex2_image").Output("depsinfo/fulllist.txt").Args["content"], "\\n")
|
||||
ensureListContains(t, fullDepsInfo, " mylib(minSdkVersion:(no version)) <- myapex2")
|
||||
ensureListContains(t, fullDepsInfo, " libbaz(minSdkVersion:(no version)) <- mylib")
|
||||
ensureListContains(t, fullDepsInfo, " libfoo(minSdkVersion:(no version)) (external) <- mylib")
|
||||
|
||||
flatDepsInfo := strings.Split(ctx.ModuleForTests("myapex2", "android_common_myapex2_image").Output("depsinfo/flatlist.txt").Args["content"], "\\n")
|
||||
ensureListContains(t, flatDepsInfo, "mylib(minSdkVersion:(no version))")
|
||||
ensureListContains(t, flatDepsInfo, "libbaz(minSdkVersion:(no version))")
|
||||
ensureListContains(t, flatDepsInfo, "libfoo(minSdkVersion:(no version)) (external)")
|
||||
}
|
||||
|
||||
|
|
|
@ -759,6 +759,12 @@ func (a *apexBundle) buildApexDependencyInfo(ctx android.ModuleContext) {
|
|||
return !externalDep
|
||||
}
|
||||
|
||||
// Skip dependencies that are only available to APEXes; they are developed with updatability
|
||||
// in mind and don't need manual approval.
|
||||
if to.(android.ApexModule).NotAvailableForPlatform() {
|
||||
return !externalDep
|
||||
}
|
||||
|
||||
if info, exists := depInfos[to.Name()]; exists {
|
||||
if !android.InList(from.Name(), info.From) {
|
||||
info.From = append(info.From, from.Name())
|
||||
|
|
|
@ -938,6 +938,13 @@ func (a *AndroidApp) buildAppDependencyInfo(ctx android.ModuleContext) {
|
|||
depsInfo := android.DepNameToDepInfoMap{}
|
||||
a.walkPayloadDeps(ctx, func(ctx android.ModuleContext, from blueprint.Module, to android.ApexModule, externalDep bool) {
|
||||
depName := to.Name()
|
||||
|
||||
// Skip dependencies that are only available to APEXes; they are developed with updatability
|
||||
// in mind and don't need manual approval.
|
||||
if to.(android.ApexModule).NotAvailableForPlatform() {
|
||||
return
|
||||
}
|
||||
|
||||
if info, exist := depsInfo[depName]; exist {
|
||||
info.From = append(info.From, from.Name())
|
||||
info.IsExternal = info.IsExternal && externalDep
|
||||
|
|
Loading…
Reference in New Issue