Auto-generate list of module impl jars
Eliminate another duplicated list of all modules. This one has a couple of workarounds due to different naming of impl libs, and bluetooth not being ready. Bug: 169103987 Test: m framework-all and diff intermediates (no diffs) Merged-In: Ia8627c6e3977cd271e389ec482388ff73661881d Change-Id: Ia8627c6e3977cd271e389ec482388ff73661881d
This commit is contained in:
parent
c9a39b3066
commit
95e89a8cb9
15
Android.bp
15
Android.bp
@ -140,21 +140,8 @@ java_library {
|
||||
name: "framework-all",
|
||||
installable: false,
|
||||
static_libs: [
|
||||
"android.net.ipsec.ike.impl",
|
||||
"all-framework-module-impl",
|
||||
"framework-minus-apex",
|
||||
"framework-appsearch.impl",
|
||||
"framework-connectivity.impl",
|
||||
"framework-connectivity-tiramisu.impl",
|
||||
"framework-graphics.impl",
|
||||
"framework-mediaprovider.impl",
|
||||
"framework-permission.impl",
|
||||
"framework-permission-s.impl",
|
||||
"framework-scheduling.impl",
|
||||
"framework-sdkextensions.impl",
|
||||
"framework-statsd.impl",
|
||||
"framework-tethering.impl",
|
||||
"framework-wifi.impl",
|
||||
"updatable-media",
|
||||
],
|
||||
apex_available: ["//apex_available:platform"],
|
||||
sdk_version: "core_platform",
|
||||
|
@ -63,8 +63,8 @@ java_library {
|
||||
min_sdk_version: "29",
|
||||
visibility: [
|
||||
"//frameworks/av/apex:__subpackages__",
|
||||
"//frameworks/base", // For framework-all
|
||||
"//frameworks/base/apex/media/service",
|
||||
"//frameworks/base/api", // For framework-all
|
||||
],
|
||||
}
|
||||
|
||||
|
27
api/api.go
27
api/api.go
@ -27,6 +27,7 @@ import (
|
||||
const art = "art.module.public.api"
|
||||
const conscrypt = "conscrypt.module.public.api"
|
||||
const i18n = "i18n.module.public.api"
|
||||
var core_libraries_modules = []string{art, conscrypt, i18n}
|
||||
|
||||
// The intention behind this soong plugin is to generate a number of "merged"
|
||||
// API-related modules that would otherwise require a large amount of very
|
||||
@ -199,9 +200,28 @@ func createMergedSystemStubs(ctx android.LoadHookContext, modules []string) {
|
||||
ctx.CreateModule(java.LibraryFactory, &props)
|
||||
}
|
||||
|
||||
func createMergedModuleLibStubs(ctx android.LoadHookContext, modules []string) {
|
||||
func createMergedFrameworkImpl(ctx android.LoadHookContext, modules []string) {
|
||||
// This module is for the "framework-all" module, which should not include the core libraries.
|
||||
modules = removeAll(modules, core_libraries_modules)
|
||||
// TODO(b/214988855): remove the line below when framework-bluetooth has an impl jar.
|
||||
modules = remove(modules, "framework-bluetooth")
|
||||
props := libraryProps{}
|
||||
props.Name = proptools.StringPtr("all-framework-module-impl")
|
||||
props.Static_libs = transformArray(modules, "", ".impl")
|
||||
// Media module's impl jar is called "updatable-media"
|
||||
for i, v := range props.Static_libs {
|
||||
if v == "framework-media.impl" {
|
||||
props.Static_libs[i] = "updatable-media"
|
||||
}
|
||||
}
|
||||
props.Sdk_version = proptools.StringPtr("module_current")
|
||||
props.Visibility = []string{"//frameworks/base"}
|
||||
ctx.CreateModule(java.LibraryFactory, &props)
|
||||
}
|
||||
|
||||
func createMergedFrameworkModuleLibStubs(ctx android.LoadHookContext, modules []string) {
|
||||
// The user of this module compiles against the "core" SDK, so remove core libraries to avoid dupes.
|
||||
modules = removeAll(modules, []string{art, conscrypt, i18n})
|
||||
modules = removeAll(modules, core_libraries_modules)
|
||||
props := libraryProps{}
|
||||
props.Name = proptools.StringPtr("framework-updatable-stubs-module_libs_api")
|
||||
props.Static_libs = transformArray(modules, "", ".stubs.module_lib")
|
||||
@ -269,7 +289,8 @@ func (a *CombinedApis) createInternalModules(ctx android.LoadHookContext) {
|
||||
|
||||
createMergedPublicStubs(ctx, bootclasspath)
|
||||
createMergedSystemStubs(ctx, bootclasspath)
|
||||
createMergedModuleLibStubs(ctx, bootclasspath)
|
||||
createMergedFrameworkModuleLibStubs(ctx, bootclasspath)
|
||||
createMergedFrameworkImpl(ctx, bootclasspath)
|
||||
|
||||
createMergedAnnotations(ctx, bootclasspath)
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user