"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.
Bug: 183097033
Test: m droid
Change-Id: I274e2710d1ff34e896aa620bfafb4481180c53b5
diff --git a/java/sdk.go b/java/sdk.go
index cbd873d..d1b899e 100644
--- a/java/sdk.go
+++ b/java/sdk.go
@@ -175,10 +175,24 @@
}
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))
}