diff options
-rw-r--r-- | JavaLibrary.bp | 27 | ||||
-rw-r--r-- | non_openjdk_java_files.bp | 37 |
2 files changed, 47 insertions, 17 deletions
diff --git a/JavaLibrary.bp b/JavaLibrary.bp index 742569529c..ccee7b1265 100644 --- a/JavaLibrary.bp +++ b/JavaLibrary.bp @@ -790,7 +790,7 @@ java_system_modules { // Ensure that core libraries that depend on the public API can access // the UnsupportedAppUsage, CorePlatformApi and IntraCoreApi // annotations. - "libcore-unsupportedappusage-annotation", + "art.module.api.annotations.for.system.modules", ], } @@ -882,12 +882,15 @@ java_system_modules { ], } -// A library that contains annotations not retented in runtime and inline-able constants -// that should not introduce any runtime dependency for compiling core libraries, e.g. core-icu4j, +// A library that contains annotations that define API surfaces (core +// platform, intra core and the hidden API) along with some supporting +// constants. The annotations are source only and do not introduce any runtime +// dependencies. Specially built for use in system modules definitions to +// avoid introducing compile time cycles. java_library { - name: "libcore-unsupportedappusage-annotation", + name: "art.module.api.annotations.for.system.modules", srcs: [ - ":unsupportedappusage_annotation_files", + ":api_surface_annotation_files", ], installable: false, @@ -896,16 +899,16 @@ java_library { patch_module: "java.base", } -// The source files that contain the UnsupportedAppUsage annotation and its dependencies. -filegroup { - name: "unsupportedappusage_annotation_files", +// Create a library containing the api surface annotations, built against +// core_current for use by the annotation processor in frameworks/base. +java_library { + name: "art.module.api.annotations", visibility: [ "//frameworks/base", ], + host_supported: true, srcs: [ - "dalvik/src/main/java/dalvik/annotation/compat/UnsupportedAppUsage.java", - "dalvik/src/main/java/dalvik/system/VersionCodes.java", - "luni/src/main/java/libcore/api/CorePlatformApi.java", - "luni/src/main/java/libcore/api/IntraCoreApi.java", + ":api_surface_annotation_files", ], + sdk_version: "core_current", } diff --git a/non_openjdk_java_files.bp b/non_openjdk_java_files.bp index c080fcfa40..4f7a33d64b 100644 --- a/non_openjdk_java_files.bp +++ b/non_openjdk_java_files.bp @@ -25,7 +25,6 @@ filegroup { "dalvik/src/main/java/dalvik/annotation/TestTargetClass.java", "dalvik/src/main/java/dalvik/annotation/Throws.java", "dalvik/src/main/java/dalvik/annotation/codegen/CovariantReturnType.java", - "dalvik/src/main/java/dalvik/annotation/compat/UnsupportedAppUsage.java", "dalvik/src/main/java/dalvik/annotation/optimization/CriticalNative.java", "dalvik/src/main/java/dalvik/annotation/optimization/DeadReferenceSafe.java", "dalvik/src/main/java/dalvik/annotation/optimization/FastNative.java", @@ -51,13 +50,13 @@ filegroup { "dalvik/src/main/java/dalvik/system/SocketTagger.java", "dalvik/src/main/java/dalvik/system/TemporaryDirectory.java", "dalvik/src/main/java/dalvik/system/VMDebug.java", - "dalvik/src/main/java/dalvik/system/VersionCodes.java", "dalvik/src/main/java/dalvik/system/ZygoteHooks.java", "dalvik/src/main/java/org/apache/harmony/dalvik/NativeTestTarget.java", "dalvik/src/main/java/org/apache/harmony/dalvik/ddmc/Chunk.java", "dalvik/src/main/java/org/apache/harmony/dalvik/ddmc/ChunkHandler.java", "dalvik/src/main/java/org/apache/harmony/dalvik/ddmc/DdmServer.java", "dalvik/src/main/java/org/apache/harmony/dalvik/ddmc/DdmVmInternal.java", + ":hidden_api_surface_annotation_files", ], path: "dalvik/src/main", visibility: ["//visibility:private"], @@ -98,6 +97,36 @@ filegroup { visibility: ["//visibility:private"], } +// The set of annotations used for defining visible (i.e. not hidden) API +// surfaces. +filegroup { + name: "visible_api_surface_annotation_files", + srcs: [ + "luni/src/main/java/libcore/api/CorePlatformApi.java", + "luni/src/main/java/libcore/api/Hide.java", + "luni/src/main/java/libcore/api/IntraCoreApi.java", + ], +} + +// The set of annotations used for defining the hidden API surface. +filegroup { + name: "hidden_api_surface_annotation_files", + srcs: [ + "dalvik/src/main/java/dalvik/annotation/compat/UnsupportedAppUsage.java", + "dalvik/src/main/java/dalvik/system/VersionCodes.java", + ], +} + +// The set of annotations used for defining all API surfaces, including hidden +// APIs. +filegroup { + name: "api_surface_annotation_files", + srcs: [ + ":hidden_api_surface_annotation_files", + ":visible_api_surface_annotation_files", + ], +} + filegroup { name: "non_openjdk_javadoc_luni_files", srcs: [ @@ -209,9 +238,6 @@ filegroup { "luni/src/main/java/javax/xml/xpath/XPathFunctionException.java", "luni/src/main/java/javax/xml/xpath/XPathFunctionResolver.java", "luni/src/main/java/javax/xml/xpath/XPathVariableResolver.java", - "luni/src/main/java/libcore/api/CorePlatformApi.java", - "luni/src/main/java/libcore/api/Hide.java", - "luni/src/main/java/libcore/api/IntraCoreApi.java", "luni/src/main/java/libcore/content/type/MimeMap.java", "luni/src/main/java/libcore/icu/DateIntervalFormat.java", "luni/src/main/java/libcore/icu/ICU.java", @@ -323,6 +349,7 @@ filegroup { "luni/src/main/java/org/xml/sax/helpers/XMLFilterImpl.java", "luni/src/main/java/org/xml/sax/helpers/XMLReaderAdapter.java", "luni/src/main/java/org/xml/sax/helpers/XMLReaderFactory.java", + ":visible_api_surface_annotation_files", ], path: "luni/src/main", visibility: ["//visibility:private"], |