"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:
// 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:
// 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:
panic(fmt.Errorf("invalid sdk %q", sdkVersion.Raw))
}

View File

@ -219,7 +219,7 @@ func TestClasspath(t *testing.T) {
name: "module_current",
properties: `sdk_version: "module_current",`,
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"},
aidl: "-pout/soong/framework_non_updatable.aidl",
},
@ -227,7 +227,7 @@ func TestClasspath(t *testing.T) {
name: "system_server_current",
properties: `sdk_version: "system_server_current",`,
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"},
aidl: "-pout/soong/framework.aidl",
},

View File

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