android_app_import is now ApexModule
Like other prebuilts (java_import, etc.), android_app_import has now became ApexModule. It means it supports APEX-specific properties like apex_available, min_sdk_version, etc. Bug: 154488897 Test: m Change-Id: I86f02771496ffc68c98a50ddfc786788fa1e05fb
This commit is contained in:
parent
1b7599d918
commit
592a6a41de
|
@ -3428,6 +3428,7 @@ func TestApexWithAppImports(t *testing.T) {
|
|||
dex_preopt: {
|
||||
enabled: false,
|
||||
},
|
||||
apex_available: ["myapex"],
|
||||
}
|
||||
|
||||
android_app_import {
|
||||
|
@ -3439,6 +3440,7 @@ func TestApexWithAppImports(t *testing.T) {
|
|||
enabled: false,
|
||||
},
|
||||
filename: "AwesomePrebuiltAppFooPriv.apk",
|
||||
apex_available: ["myapex"],
|
||||
}
|
||||
`)
|
||||
|
||||
|
@ -3480,6 +3482,7 @@ func TestApexWithAppImportsPrefer(t *testing.T) {
|
|||
filename: "AppFooPrebuilt.apk",
|
||||
presigned: true,
|
||||
prefer: true,
|
||||
apex_available: ["myapex"],
|
||||
}
|
||||
`, withFiles(map[string][]byte{
|
||||
"AppFooPrebuilt.apk": nil,
|
||||
|
|
|
@ -626,6 +626,11 @@ func (dstubs *Droidstubs) AndroidMkEntries() []android.AndroidMkEntries {
|
|||
}
|
||||
|
||||
func (a *AndroidAppImport) AndroidMkEntries() []android.AndroidMkEntries {
|
||||
if !a.IsForPlatform() {
|
||||
// The non-platform variant is placed inside APEX. No reason to
|
||||
// make it available to Make.
|
||||
return nil
|
||||
}
|
||||
return []android.AndroidMkEntries{android.AndroidMkEntries{
|
||||
Class: "APPS",
|
||||
OutputFile: android.OptionalPathForPath(a.outputFile),
|
||||
|
|
14
java/app.go
14
java/app.go
|
@ -986,6 +986,7 @@ func OverrideAndroidTestModuleFactory() android.Module {
|
|||
type AndroidAppImport struct {
|
||||
android.ModuleBase
|
||||
android.DefaultableModuleBase
|
||||
android.ApexModuleBase
|
||||
prebuilt android.Prebuilt
|
||||
|
||||
properties AndroidAppImportProperties
|
||||
|
@ -1223,7 +1224,9 @@ func (a *AndroidAppImport) generateAndroidBuildActions(ctx android.ModuleContext
|
|||
|
||||
// TODO: Optionally compress the output apk.
|
||||
|
||||
a.installPath = ctx.InstallFile(installDir, apkFilename, a.outputFile)
|
||||
if a.IsForPlatform() {
|
||||
a.installPath = ctx.InstallFile(installDir, apkFilename, a.outputFile)
|
||||
}
|
||||
|
||||
// TODO: androidmk converter jni libs
|
||||
}
|
||||
|
@ -1274,6 +1277,13 @@ func (a *AndroidAppImport) Privileged() bool {
|
|||
return Bool(a.properties.Privileged)
|
||||
}
|
||||
|
||||
func (a *AndroidAppImport) DepIsInSameApex(ctx android.BaseModuleContext, dep android.Module) bool {
|
||||
// android_app_import might have extra dependencies via uses_libs property.
|
||||
// Don't track the dependency as we don't automatically add those libraries
|
||||
// to the classpath. It should be explicitly added to java_libs property of APEX
|
||||
return false
|
||||
}
|
||||
|
||||
func createVariantGroupType(variants []string, variantGroupName string) reflect.Type {
|
||||
props := reflect.TypeOf((*AndroidAppImportProperties)(nil))
|
||||
|
||||
|
@ -1320,6 +1330,7 @@ func AndroidAppImportFactory() android.Module {
|
|||
module.processVariants(ctx)
|
||||
})
|
||||
|
||||
android.InitApexModule(module)
|
||||
InitJavaModule(module, android.DeviceSupported)
|
||||
android.InitSingleSourcePrebuiltModule(module, &module.properties, "Apk")
|
||||
|
||||
|
@ -1357,6 +1368,7 @@ func AndroidTestImportFactory() android.Module {
|
|||
module.processVariants(ctx)
|
||||
})
|
||||
|
||||
android.InitApexModule(module)
|
||||
InitJavaModule(module, android.DeviceSupported)
|
||||
android.InitSingleSourcePrebuiltModule(module, &module.properties, "Apk")
|
||||
|
||||
|
|
Loading…
Reference in New Issue