Move modules containing ART, conscrypt and i18n to build/soong

This change moves the definitions of the following libraries which
directly include ART, conscrypt and i18n stubs, and their associated
java_system_modules from libcore to build/soong/java/core-libraries:
* core.current.stubs
* core-current-stubs-system-modules
* core.module_lib.stubs
* core-module-lib-stubs-system-modules
* legacy.core.platform.api.stubs
* legacy-core-platform-api-stubs-system-modules
* stable.core.platform.api.stubs
* stable-core-platform-api-stubs-system-modules

Bug: 193311122
Test: m droid
Change-Id: I42c4a0b5322897d40ecf41de088152dbdc526c96
diff --git a/JavaLibrary.bp b/JavaLibrary.bp
index fec8afa..56ce23f 100644
--- a/JavaLibrary.bp
+++ b/JavaLibrary.bp
@@ -415,7 +415,8 @@
 java_library {
     name: "core-lambda-stubs-for-system-modules",
     visibility: [
-        "//libcore/mmodules/core_platform_api",
+        "//art/build/sdk",
+        "//build/soong/java/core-libraries",
     ],
     defaults: ["core_lambda_stubs_defaults"],
     srcs: [
@@ -431,7 +432,8 @@
 java_library {
     name: "core-generated-annotation-stubs",
     visibility: [
-        "//libcore/mmodules/core_platform_api",
+        "//art/build/sdk",
+        "//build/soong/java/core-libraries",
     ],
     defaults: ["libcore_java_defaults"],
     srcs: [
@@ -784,7 +786,6 @@
 droiddoc_exported_dir {
     name: "ojluni-annotated-mmodule-stubs",
     visibility: [
-        "//libcore/mmodules/core_platform_api",
         "//libcore/mmodules/intracoreapi",
     ],
     path: "ojluni/annotations/mmodule",
@@ -883,7 +884,7 @@
     name: "art.module.public.api",
     visibility: [
         "//art/build/sdk",
-        "//libcore/mmodules/core_platform_api",
+        "//build/soong/java/core-libraries",
         "//frameworks/base",
         "//frameworks/base/api",
     ],
@@ -1014,102 +1015,6 @@
     ],
 }
 
-// A stubs target containing the parts of the public SDK API provided by the
-// core library.
-//
-// Don't use this directly, use "sdk_version: core_current".
-java_library {
-    name: "core.current.stubs",
-    visibility: ["//visibility:public"],
-    static_libs: [
-        "art.module.public.api.stubs",
-        "conscrypt.module.public.api.stubs",
-        "i18n.module.public.api.stubs",
-    ],
-    sdk_version: "none",
-    system_modules: "none",
-
-    dist: {
-        targets: [
-            "sdk",
-            "win_sdk",
-        ],
-    },
-}
-
-// Distributed with the SDK for turning into system modules to compile apps
-// against.
-java_library {
-    name: "core-current-stubs-for-system-modules",
-    visibility: ["//development/sdk"],
-    static_libs: [
-        "core.current.stubs",
-        // This one is not on device but it's needed when javac compiles code
-        // containing lambdas.
-        "core-lambda-stubs-for-system-modules",
-        // This one is not on device but it's needed when javac compiles code
-        // containing @Generated annotations produced by some code generation
-        // tools.
-        // See http://b/123891440.
-        "core-generated-annotation-stubs",
-    ],
-    sdk_version: "none",
-    system_modules: "none",
-    dist: {
-        dest: "core-for-system-modules.jar",
-        targets: [
-            "sdk",
-            "win_sdk",
-        ],
-    },
-}
-
-// Used when compiling higher-level code against core.current.stubs.
-java_system_modules {
-    name: "core-current-stubs-system-modules",
-    visibility: ["//visibility:public"],
-    libs: [
-        "core-current-stubs-for-system-modules",
-    ],
-}
-
-// A stubs target containing the parts of the public SDK & @SystemApi(MODULE_LIBRARIES) API
-// provided by the core library.
-//
-// Don't use this directly, use "sdk_version: module_current".
-java_library {
-    name: "core.module_lib.stubs",
-    static_libs: [
-        "art.module.public.api.stubs.module_lib",
-
-        // Replace the following with the module-lib correspondence when Conscrypt or i18N module
-        // provides @SystemApi(MODULE_LIBRARIES). Currently, assume that only ART module provides
-        // @SystemApi(MODULE_LIBRARIES).
-        "conscrypt.module.public.api.stubs",
-        "i18n.module.public.api.stubs",
-    ],
-    sdk_version: "none",
-    system_modules: "none",
-    visibility: ["//visibility:private"],
-}
-
-// Used when compiling higher-level code with sdk_version "module_current"
-java_system_modules {
-    name: "core-module-lib-stubs-system-modules",
-    libs: [
-        "core.module_lib.stubs",
-        // This one is not on device but it's needed when javac compiles code
-        // containing lambdas.
-        "core-lambda-stubs-for-system-modules",
-        // This one is not on device but it's needed when javac compiles code
-        // containing @Generated annotations produced by some code generation
-        // tools.
-        // See http://b/123891440.
-        "core-generated-annotation-stubs",
-    ],
-    visibility: ["//visibility:public"],
-}
-
 // Target for validating nullability annotations for correctness and
 // completeness. To check that there are no nullability errors:
 //   m art-module-public-api-stubs-nullability-validation