Merge "apex: Make android_library support APEX variants" into rvc-dev

This commit is contained in:
Jooyung Han 2020-05-21 11:48:56 +00:00 committed by Android (Google) Code Review
commit e0937418a9
3 changed files with 64 additions and 11 deletions

View File

@ -244,7 +244,14 @@ func makeApexAvailableWhitelist() map[string][]string {
// Module separator
//
m["com.android.extservices"] = []string{
"error_prone_annotations",
"ExtServices-core",
"ExtServices",
"libtextclassifier-java",
"libz_current",
"textclassifier-statsd",
"TextClassifierNotificationLibNoManifest",
"TextClassifierServiceLibNoManifest",
}
//
// Module separator
@ -292,7 +299,10 @@ func makeApexAvailableWhitelist() map[string][]string {
"android.hidl.token@1.0",
"android.hidl.token@1.0-utils",
"bionic_libc_platform_headers",
"exoplayer2-extractor",
"exoplayer2-extractor-annotation-stubs",
"gl_headers",
"jsr305",
"libEGL",
"libEGL_blobCache",
"libEGL_getProcAddress",
@ -549,12 +559,8 @@ func makeApexAvailableWhitelist() map[string][]string {
// Module separator
//
m["com.android.permission"] = []string{
"androidx.annotation_annotation",
"androidx.annotation_annotation-nodeps",
"androidx.lifecycle_lifecycle-common",
"androidx.lifecycle_lifecycle-common-java8",
"androidx.lifecycle_lifecycle-common-java8-nodeps",
"androidx.lifecycle_lifecycle-common-nodeps",
"car-ui-lib",
"iconloader",
"kotlin-annotations",
"kotlin-stdlib",
"kotlin-stdlib-jdk7",
@ -566,6 +572,15 @@ func makeApexAvailableWhitelist() map[string][]string {
"permissioncontroller-statsd",
"GooglePermissionController",
"PermissionController",
"SettingsLibActionBarShadow",
"SettingsLibAppPreference",
"SettingsLibBarChartPreference",
"SettingsLibLayoutPreference",
"SettingsLibProgressBar",
"SettingsLibSearchWidget",
"SettingsLibSettingsTheme",
"SettingsLibRestrictedLockUtils",
"SettingsLibHelpUtils",
}
//
// Module separator
@ -627,13 +642,21 @@ func makeApexAvailableWhitelist() map[string][]string {
// Module separator
//
m["com.android.tethering"] = []string{
"libnativehelper_compat_libc++",
"android.hardware.tetheroffload.config@1.0",
"android.hardware.tetheroffload.config-V1.0-java",
"android.hardware.tetheroffload.control-V1.0-java",
"android.hidl.base-V1.0-java",
"ipmemorystore-aidl-interfaces-java",
"libcgrouprc",
"libcgrouprc_format",
"libnativehelper_compat_libc++",
"libtetherutilsjni",
"libvndksupport",
"net-utils-framework-common",
"netd_aidl_interface-V3-java",
"netlink-client",
"networkstack-aidl-interfaces-java",
"tethering-aidl-interfaces-java",
"TetheringApiCurrentLib",
}
//
// Module separator
@ -657,8 +680,6 @@ func makeApexAvailableWhitelist() map[string][]string {
"android.hidl.manager-V1.0-java",
"android.hidl.manager-V1.1-java",
"android.hidl.manager-V1.2-java",
"androidx.annotation_annotation",
"androidx.annotation_annotation-nodeps",
"bouncycastle-unbundled",
"dnsresolver_aidl_interface-V2-java",
"error_prone_annotations",
@ -680,7 +701,6 @@ func makeApexAvailableWhitelist() map[string][]string {
"wifi-nano-protos",
"wifi-service-pre-jarjar",
"wifi-service-resources",
"prebuilt_androidx.annotation_annotation-nodeps",
}
//
// Module separator
@ -700,6 +720,15 @@ func makeApexAvailableWhitelist() map[string][]string {
// Module separator
//
m[android.AvailableToAnyApex] = []string{
// TODO(b/156996905) Set apex_available/min_sdk_version for androidx/extras support libraries
"androidx",
"androidx-constraintlayout_constraintlayout",
"androidx-constraintlayout_constraintlayout-nodeps",
"androidx-constraintlayout_constraintlayout-solver",
"androidx-constraintlayout_constraintlayout-solver-nodeps",
"com.google.android.material_material",
"com.google.android.material_material-nodeps",
"libatomic",
"libclang_rt",
"libgcc_stripped",
@ -2240,6 +2269,10 @@ func normalizeModuleName(moduleName string) string {
// We don't want to list them all
moduleName = "libclang_rt"
}
if strings.HasPrefix(moduleName, "androidx.") {
// TODO(b/156996905) Set apex_available/min_sdk_version for androidx support libraries
moduleName = "androidx"
}
return moduleName
}

View File

@ -513,6 +513,7 @@ func AndroidLibraryFactory() android.Module {
module.androidLibraryProperties.BuildAAR = true
android.InitApexModule(module)
InitJavaModule(module, android.DeviceSupported)
return module
}
@ -537,8 +538,12 @@ type AARImportProperties struct {
type AARImport struct {
android.ModuleBase
android.DefaultableModuleBase
android.ApexModuleBase
prebuilt android.Prebuilt
// Functionality common to Module and Import.
embeddableInModuleAndImport
properties AARImportProperties
classpathFile android.WritablePath
@ -742,6 +747,10 @@ func (a *AARImport) SrcJarArgs() ([]string, android.Paths) {
return nil, nil
}
func (a *AARImport) DepIsInSameApex(ctx android.BaseModuleContext, dep android.Module) bool {
return a.depIsInSameApex(ctx, dep)
}
var _ android.PrebuiltInterface = (*Import)(nil)
// android_library_import imports an `.aar` file into the build graph as if it was built with android_library.
@ -754,6 +763,7 @@ func AARImportFactory() android.Module {
module.AddProperties(&module.properties)
android.InitPrebuiltModule(module, &module.properties.Aars)
android.InitApexModule(module)
InitJavaModule(module, android.DeviceSupported)
return module
}

View File

@ -211,6 +211,11 @@ func (prebuilt *DexImport) AndroidMkEntries() []android.AndroidMkEntries {
}
func (prebuilt *AARImport) AndroidMkEntries() []android.AndroidMkEntries {
if !prebuilt.IsForPlatform() {
return []android.AndroidMkEntries{{
Disabled: true,
}}
}
return []android.AndroidMkEntries{android.AndroidMkEntries{
Class: "JAVA_LIBRARIES",
OutputFile: android.OptionalPathForPath(prebuilt.classpathFile),
@ -416,6 +421,11 @@ func (a *AndroidTestHelperApp) AndroidMkEntries() []android.AndroidMkEntries {
}
func (a *AndroidLibrary) AndroidMkEntries() []android.AndroidMkEntries {
if !a.IsForPlatform() {
return []android.AndroidMkEntries{{
Disabled: true,
}}
}
entriesList := a.Library.AndroidMkEntries()
entries := &entriesList[0]