Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 17a86991 authored by Jooyung Han's avatar Jooyung Han Committed by Automerger Merge Worker
Browse files

Merge "apex: Make android_library support APEX variants" am: 5ab5856d

Change-Id: Ica5977558ef6b5b828ba112e64d574c518eae085
parents 9e6bbde8 5ab5856d
Loading
Loading
Loading
Loading
+26 −11
Original line number Diff line number Diff line
@@ -287,7 +287,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",
@@ -542,12 +545,6 @@ 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",
		"kotlin-annotations",
		"kotlin-stdlib",
		"kotlin-stdlib-jdk7",
@@ -618,13 +615,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
@@ -648,8 +653,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",
@@ -671,7 +674,6 @@ func makeApexAvailableWhitelist() map[string][]string {
		"wifi-nano-protos",
		"wifi-service-pre-jarjar",
		"wifi-service-resources",
		"prebuilt_androidx.annotation_annotation-nodeps",
	}
	//
	// Module separator
@@ -691,6 +693,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",
@@ -2294,6 +2305,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
}

+10 −0
Original line number Diff line number Diff line
@@ -516,6 +516,7 @@ func AndroidLibraryFactory() android.Module {

	module.androidLibraryProperties.BuildAAR = true

	android.InitApexModule(module)
	InitJavaModule(module, android.DeviceSupported)
	return module
}
@@ -540,8 +541,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
@@ -745,6 +750,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.
@@ -757,6 +766,7 @@ func AARImportFactory() android.Module {
	module.AddProperties(&module.properties)

	android.InitPrebuiltModule(module, &module.properties.Aars)
	android.InitApexModule(module)
	InitJavaModule(module, android.DeviceSupported)
	return module
}
+10 −0
Original line number Diff line number Diff line
@@ -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]