From a9a3173ee34ce6a6d33677eda02a6ca9b216e87e Mon Sep 17 00:00:00 2001 From: Anton Hansson Date: Thu, 21 May 2020 10:38:30 +0100 Subject: [PATCH] Default annotations_enabled to true for sdk_library This turns out retention of Nullable annotations, which is almost certainly what every user wants. Also add the "stub-annotations" lib to the stub libs property, to make sure the nullability annotations resolve properly. Bug: 157010342 Test: m Change-Id: I905144add4ef6f85445eedd1ba5169445f6005e0 --- java/sdk_library.go | 5 +++++ java/testing.go | 1 + sdk/java_sdk_test.go | 9 ++++++--- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/java/sdk_library.go b/java/sdk_library.go index 61bb106d8..e85b692a1 100644 --- a/java/sdk_library.go +++ b/java/sdk_library.go @@ -789,6 +789,9 @@ func (module *SdkLibrary) createStubsLibrary(mctx android.DefaultableHookContext props.Patch_module = module.properties.Patch_module props.Installable = proptools.BoolPtr(false) props.Libs = module.sdkLibraryProperties.Stub_only_libs + // The stub-annotations library contains special versions of the annotations + // with CLASS retention policy, so that they're kept around for kotlin. + props.Libs = append(props.Libs, "stub-annotations") props.Product_variables.Pdk.Enabled = proptools.BoolPtr(false) props.Openjdk9.Srcs = module.properties.Openjdk9.Srcs props.Openjdk9.Javacflags = module.properties.Openjdk9.Javacflags @@ -822,6 +825,7 @@ func (module *SdkLibrary) createStubsSourcesAndApi(mctx android.DefaultableHookC Arg_files []string Args *string Java_version *string + Annotations_enabled *bool Merge_annotations_dirs []string Merge_inclusion_annotations_dirs []string Generate_stubs *bool @@ -872,6 +876,7 @@ func (module *SdkLibrary) createStubsSourcesAndApi(mctx android.DefaultableHookC props.Aidl.Local_include_dirs = module.deviceProperties.Aidl.Local_include_dirs props.Java_version = module.properties.Java_version + props.Annotations_enabled = proptools.BoolPtr(true) props.Merge_annotations_dirs = module.sdkLibraryProperties.Merge_annotations_dirs props.Merge_inclusion_annotations_dirs = module.sdkLibraryProperties.Merge_inclusion_annotations_dirs diff --git a/java/testing.go b/java/testing.go index d6a2446ab..4872af507 100644 --- a/java/testing.go +++ b/java/testing.go @@ -176,6 +176,7 @@ func GatherRequiredDepsForTest() string { "kotlin-stdlib-jdk7", "kotlin-stdlib-jdk8", "kotlin-annotations", + "stub-annotations", } for _, extra := range extraModules { diff --git a/sdk/java_sdk_test.go b/sdk/java_sdk_test.go index bbd638494..e223e56e7 100644 --- a/sdk/java_sdk_test.go +++ b/sdk/java_sdk_test.go @@ -61,17 +61,20 @@ java_import { name: "android_module_lib_stubs_current", } java_import { - name: "core-lambda-stubs", + name: "core-lambda-stubs", sdk_version: "none", } java_import { - name: "ext", + name: "ext", sdk_version: "none", } java_import { - name: "framework", + name: "framework", sdk_version: "none", } +java_library { + name: "stub-annotations", +} ` + bp return testSdkWithFs(t, bp, fs)