diff options
Diffstat (limited to 'JavaLibrary.bp')
-rw-r--r-- | JavaLibrary.bp | 38 |
1 files changed, 28 insertions, 10 deletions
diff --git a/JavaLibrary.bp b/JavaLibrary.bp index 84405eb605..45bfba7a1c 100644 --- a/JavaLibrary.bp +++ b/JavaLibrary.bp @@ -298,18 +298,12 @@ java_library { ], } -// Creates a jar that exists to satisfy javac when compiling source code that -// contains lambdas. -java_library { - name: "core-lambda-stubs", + +java_defaults { + name: "core_lambda_stubs_defaults", defaults: ["libcore_java_defaults"], hostdex: true, - srcs: [ - ":openjdk_lambda_stub_files", - ":openjdk_lambda_duplicate_stub_files", - ], - no_standard_libs: true, libs: ["core-all"], system_modules: "core-all-system-modules", @@ -323,6 +317,30 @@ java_library { include_srcs: true, } +// Creates a jar that exists to satisfy javac when compiling source code that +// contains lambdas. This contains all classes / methods required by javac +// when generating invoke-dynamic lambda implementation code, even those that +// are also in the public SDK API from API level 26 onwards. +java_library { + name: "core-lambda-stubs", + defaults: ["core_lambda_stubs_defaults"], + srcs: [ + ":openjdk_lambda_stub_files", + ":openjdk_lambda_duplicate_stub_files", + ], +} + +// An alternative to core-lambda-stubs that omits openjdk_lambda_duplicate_stub_files +// because those classes are also part of the core library public SDK API +// (since API level 26). +java_library { + name: "core-lambda-stubs-for-system-modules", + defaults: ["core_lambda_stubs_defaults"], + srcs: [ + ":openjdk_lambda_stub_files", + ], +} + // A system modules definition containing the implementations for the various // parts that make up the core library. // @@ -346,7 +364,7 @@ java_system_modules { "apache-xml", // This one is not on device but it's needed when javac compiles code // containing lambdas. - "core-lambda-stubs", + "core-lambda-stubs-for-system-modules", ], } |