Cherrypick aosp/1318079 and aosp/1324841

Allow apex module to have android_app_set as its constituent.
Fix android_app_set documentation

Fixes: 157166068
Test: treehugger & manual
Change-Id: I9f91f1b761286f489d175eb0772f78f702e8a2d6
Merged-In: I9f91f1b761286f489d175eb0772f78f702e8a2d6
Merged-In: Id9b296d9301902deb463b299413491bc66d58944
This commit is contained in:
Sasha Smundak
2020-05-27 16:36:07 -07:00
parent d7fdfd6e77
commit c4f0ff1d6c
6 changed files with 129 additions and 49 deletions

View File

@@ -1150,6 +1150,7 @@ const (
javaSharedLib
nativeTest
app
appSet
)
func (class apexFileClass) NameInMake() string {
@@ -1164,7 +1165,7 @@ func (class apexFileClass) NameInMake() string {
return "JAVA_LIBRARIES"
case nativeTest:
return "NATIVE_TESTS"
case app:
case app, appSet:
// b/142537672 Why isn't this APP? We want to have full control over
// the paths and file names of the apk file under the flattend APEX.
// If this is set to APP, then the paths and file names are modified
@@ -1981,6 +1982,15 @@ func (a *apexBundle) GenerateAndroidBuildActions(ctx android.ModuleContext) {
filesInfo = append(filesInfo, apexFileForAndroidApp(ctx, ap))
} else if ap, ok := child.(*java.AndroidTestHelperApp); ok {
filesInfo = append(filesInfo, apexFileForAndroidApp(ctx, ap))
} else if ap, ok := child.(*java.AndroidAppSet); ok {
appDir := "app"
if ap.Privileged() {
appDir = "priv-app"
}
af := newApexFile(ctx, ap.OutputFile(), ap.Name(),
filepath.Join(appDir, ap.BaseModuleName()), appSet, ap)
af.certificate = java.PresignedCertificate
filesInfo = append(filesInfo, af)
} else {
ctx.PropertyErrorf("apps", "%q is not an android_app module", depName)
}