"module_current" and "system_server_current" should contain ART's @SystemApi(MODULE_LIBRARIES)

Before this fix, compiling a java_library against sdk_version:
"module_current" can't use the @SystemApi(MODULE_LIBRARIES) provided
by the ART module because the system module "core-current-stubs-system-modules"
contains only the public APIs.

Use the new system module with module lib APIs.

(cherry picked from commit b54f5aa3599196cfed8c32d3e52e1c35b51b8473)

Bug: 183097033
Test: m droid
Merged-In: I274e2710d1ff34e896aa620bfafb4481180c53b5
Change-Id: I374bc4899ef8f60344e37a94ad3cb8492f47fb4d
This commit is contained in:
Victor Chang 2021-06-29 22:05:58 +01:00 committed by Orion Hodson
parent fee8cf36e3
commit 2d457e1cc8
3 changed files with 19 additions and 4 deletions

View File

@ -175,10 +175,24 @@ func decodeSdkDep(ctx android.EarlyModuleContext, sdkContext android.SdkContext)
} }
case android.SdkModule: case android.SdkModule:
// TODO(146757305): provide .apk and .aidl that have more APIs for modules // TODO(146757305): provide .apk and .aidl that have more APIs for modules
return toModule([]string{"android_module_lib_stubs_current"}, "framework-res", nonUpdatableFrameworkAidlPath(ctx)) return sdkDep{
useModule: true,
bootclasspath: []string{"android_module_lib_stubs_current", config.DefaultLambdaStubsLibrary},
systemModules: "core-module-lib-stubs-system-modules",
java9Classpath: []string{"android_module_lib_stubs_current"},
frameworkResModule: "framework-res",
aidl: android.OptionalPathForPath(nonUpdatableFrameworkAidlPath(ctx)),
}
case android.SdkSystemServer: case android.SdkSystemServer:
// TODO(146757305): provide .apk and .aidl that have more APIs for modules // TODO(146757305): provide .apk and .aidl that have more APIs for modules
return toModule([]string{"android_system_server_stubs_current"}, "framework-res", sdkFrameworkAidlPath(ctx)) return sdkDep{
useModule: true,
bootclasspath: []string{"android_system_server_stubs_current", config.DefaultLambdaStubsLibrary},
systemModules: "core-module-lib-stubs-system-modules",
java9Classpath: []string{"android_system_server_stubs_current"},
frameworkResModule: "framework-res",
aidl: android.OptionalPathForPath(sdkFrameworkAidlPath(ctx)),
}
default: default:
panic(fmt.Errorf("invalid sdk %q", sdkVersion.Raw)) panic(fmt.Errorf("invalid sdk %q", sdkVersion.Raw))
} }

View File

@ -219,7 +219,7 @@ func TestClasspath(t *testing.T) {
name: "module_current", name: "module_current",
properties: `sdk_version: "module_current",`, properties: `sdk_version: "module_current",`,
bootclasspath: []string{"android_module_lib_stubs_current", "core-lambda-stubs"}, bootclasspath: []string{"android_module_lib_stubs_current", "core-lambda-stubs"},
system: "core-current-stubs-system-modules", system: "core-module-lib-stubs-system-modules",
java9classpath: []string{"android_module_lib_stubs_current"}, java9classpath: []string{"android_module_lib_stubs_current"},
aidl: "-pout/soong/framework_non_updatable.aidl", aidl: "-pout/soong/framework_non_updatable.aidl",
}, },
@ -227,7 +227,7 @@ func TestClasspath(t *testing.T) {
name: "system_server_current", name: "system_server_current",
properties: `sdk_version: "system_server_current",`, properties: `sdk_version: "system_server_current",`,
bootclasspath: []string{"android_system_server_stubs_current", "core-lambda-stubs"}, bootclasspath: []string{"android_system_server_stubs_current", "core-lambda-stubs"},
system: "core-current-stubs-system-modules", system: "core-module-lib-stubs-system-modules",
java9classpath: []string{"android_system_server_stubs_current"}, java9classpath: []string{"android_system_server_stubs_current"},
aidl: "-pout/soong/framework.aidl", aidl: "-pout/soong/framework.aidl",
}, },

View File

@ -312,6 +312,7 @@ func gatherRequiredDepsForTest() string {
systemModules := []string{ systemModules := []string{
"core-current-stubs-system-modules", "core-current-stubs-system-modules",
"core-module-lib-stubs-system-modules",
"legacy-core-platform-api-stubs-system-modules", "legacy-core-platform-api-stubs-system-modules",
"stable-core-platform-api-stubs-system-modules", "stable-core-platform-api-stubs-system-modules",
} }