From 0cb803a5d6bc113757120259298b46e630854c11 Mon Sep 17 00:00:00 2001 From: Spandan Das Date: Mon, 3 Apr 2023 23:20:28 +0000 Subject: [PATCH 1/2] Fix the suffix used in names of java_system_modules Test: N/A (enabled flag is still off) Change-Id: I2ef90f4d9099bf183d65dcf8ebdf532d5fa445b6 --- java/core-libraries/TxtStubLibraries.bp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/java/core-libraries/TxtStubLibraries.bp b/java/core-libraries/TxtStubLibraries.bp index b63ce4204..02415145c 100644 --- a/java/core-libraries/TxtStubLibraries.bp +++ b/java/core-libraries/TxtStubLibraries.bp @@ -33,7 +33,7 @@ java_library { "system-modules-no-annotations", ], static_libs: [ - "core.current.stubs.from-txt", + "core.current.stubs.from-text", "core-lambda-stubs-for-system-modules", ], // TODO: Enable after stub generation from .txt file is available @@ -58,7 +58,7 @@ java_library { "system-modules-no-annotations", ], static_libs: [ - "core.module_lib.stubs.txt", + "core.module_lib.stubs.from-text", "core-lambda-stubs-for-system-modules", ], // TODO: Enable after stub generation from .txt file is available From 760f8804952c6a344236b472dd9232febafb004d Mon Sep 17 00:00:00 2001 From: Spandan Das Date: Mon, 3 Apr 2023 23:27:25 +0000 Subject: [PATCH 2/2] Create core-lambda-stubs from .txt files APIs to compile lambda are part of art's toolchain api surface. Generating stubs from .txt files allows us to prune the remaining sdk dependencies on libcore/ that are not api files Test: m core-lambda-stubs.from-text (On top of change containing core.current.stubs.from-text and turning enabled: true) Change-Id: I0ab8459b9317cb055a434eb635ba06d38da5b92e --- java/core-libraries/TxtStubLibraries.bp | 22 ++++++++++++++++++---- java/sdk.go | 4 ++-- 2 files changed, 20 insertions(+), 6 deletions(-) diff --git a/java/core-libraries/TxtStubLibraries.bp b/java/core-libraries/TxtStubLibraries.bp index 02415145c..813187e54 100644 --- a/java/core-libraries/TxtStubLibraries.bp +++ b/java/core-libraries/TxtStubLibraries.bp @@ -34,7 +34,7 @@ java_library { ], static_libs: [ "core.current.stubs.from-text", - "core-lambda-stubs-for-system-modules", + "core-lambda-stubs.from-text", ], // TODO: Enable after stub generation from .txt file is available enabled: false, @@ -59,7 +59,7 @@ java_library { ], static_libs: [ "core.module_lib.stubs.from-text", - "core-lambda-stubs-for-system-modules", + "core-lambda-stubs.from-text", ], // TODO: Enable after stub generation from .txt file is available enabled: false, @@ -89,7 +89,7 @@ java_system_modules { visibility: core_platform_visibility, libs: [ "legacy.core.platform.api.no.annotations.stubs.from-text", - "core-lambda-stubs-for-system-modules", + "core-lambda-stubs.from-text", ], // TODO: Enable after stub generation from .txt file is available enabled: false, @@ -118,7 +118,7 @@ java_system_modules { visibility: core_platform_visibility, libs: [ "stable.core.platform.api.no.annotations.stubs.from-text", - "core-lambda-stubs-for-system-modules", + "core-lambda-stubs.from-text", ], // TODO: Enable after stub generation from .txt file is available enabled: false, @@ -140,3 +140,17 @@ java_library { // TODO: Enable after stub generation from .txt file is available enabled: false, } + +java_api_library { + name: "core-lambda-stubs.from-text", + api_surface: "toolchain", + api_contributions: [ + "art.module.toolchain.api.api.contribution", + ], + libs: [ + // LambdaMetaFactory depends on CallSite etc. which is part of the Core API surface + "core.current.stubs.from-text", + ], + // TODO: Enable after stub generation from .txt file is available + enabled: false, +} diff --git a/java/sdk.go b/java/sdk.go index 1b18ba40a..8b4918add 100644 --- a/java/sdk.go +++ b/java/sdk.go @@ -151,7 +151,7 @@ func decodeSdkDep(ctx android.EarlyModuleContext, sdkContext android.SdkContext) systemModules := android.JavaApiLibraryName(ctx.Config(), fmt.Sprintf("core-%s-stubs-system-modules", systemModulesKind)) return sdkDep{ useModule: true, - bootclasspath: []string{module, config.DefaultLambdaStubsLibrary}, + bootclasspath: []string{module, android.JavaApiLibraryName(ctx.Config(), config.DefaultLambdaStubsLibrary)}, systemModules: systemModules, java9Classpath: []string{module}, frameworkResModule: "framework-res", @@ -197,7 +197,7 @@ func decodeSdkDep(ctx android.EarlyModuleContext, sdkContext android.SdkContext) case android.SdkCore: return sdkDep{ useModule: true, - bootclasspath: []string{android.SdkCore.JavaLibraryName(ctx.Config()), config.DefaultLambdaStubsLibrary}, + bootclasspath: []string{android.SdkCore.JavaLibraryName(ctx.Config()), android.JavaApiLibraryName(ctx.Config(), config.DefaultLambdaStubsLibrary)}, systemModules: android.JavaApiLibraryName(ctx.Config(), "core-public-stubs-system-modules"), noFrameworksLibs: true, }