• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1// Copyright (C) 2018 The Android Open Source Project
2//
3// Licensed under the Apache License, Version 2.0 (the "License");
4// you may not use this file except in compliance with the License.
5// You may obtain a copy of the License at
6//
7//      http://www.apache.org/licenses/LICENSE-2.0
8//
9// Unless required by applicable law or agreed to in writing, software
10// distributed under the License is distributed on an "AS IS" BASIS,
11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12// See the License for the specific language governing permissions and
13// limitations under the License.
14
15// Referenced implicitly from art.module.intra.core.api.
16package {
17    // http://go/android-license-faq
18    // A large-scale-change added 'default_applicable_licenses' to import
19    // the below license kinds from "libcore_license":
20    //   SPDX-license-identifier-Apache-2.0
21    //   SPDX-license-identifier-GPL
22    //   SPDX-license-identifier-GPL-2.0
23    //   SPDX-license-identifier-LGPL
24    //   SPDX-license-identifier-MIT
25    //   SPDX-license-identifier-W3C
26    default_applicable_licenses: ["libcore_license"],
27}
28
29filegroup {
30    name: "art.module.intra.core.api.api.public.latest",
31    srcs: [
32        "api/intra/last-api.txt",
33    ],
34}
35
36// Referenced implicitly from art.module.intra.core.api.
37filegroup {
38    name: "art.module.intra.core.api-removed.api.public.latest",
39    srcs: [
40        "api/intra/last-removed.txt",
41    ],
42}
43
44// Referenced implicitly from art.module.intra.core.api.
45filegroup {
46    name: "art.module.intra.core.api-incompatibilities.api.public.latest",
47    srcs: [
48        "api/intra/last-incompatibilities.txt",
49    ],
50}
51
52// A library containing the intra-core API stubs of the ART module.
53//
54// Intra-core APIs are only intended for the use of other core library modules.
55//
56// The API specification .txt files managed by this only contain the additional
57// classes/members that are in the intra-core API but which are not the public API.
58java_sdk_library {
59    name: "art.module.intra.core.api",
60    visibility: [
61        "//libcore/mmodules/core_platform_api",
62    ],
63    srcs: [
64        ":art_module_api_files",
65    ],
66    api_dir: "api/intra",
67    api_only: true,
68    droiddoc_options: [
69        "--hide-annotation libcore.api.Hide",
70        "--show-single-annotation libcore.api.IntraCoreApi",
71        "--skip-annotation-instance-methods=false",
72    ],
73    merge_inclusion_annotations_dirs: ["ojluni-annotated-mmodule-stubs"],
74
75    sdk_version: "none",
76    system_modules: "none",
77    patch_module: "java.base",
78
79    // Don't copy any output files to the dist.
80    no_dist: true,
81}
82
83// Bootstrap the art-module-intra-core-api-stubs-system-modules.
84//
85// This is needed to build art-module-intra-core-api-stubs-system-modules-lib
86// which is in turn needed to build art-module-intra-core-api-stubs-system-modules
87java_system_modules {
88    name: "art-module-intra-core-api-stubs-bootstrap-system-modules",
89    libs: [
90        // The intra core API stubs library.
91        "art.module.intra.core.api.stubs",
92    ],
93}
94
95// A library containing additional classes that are needed in the system modules.
96java_library {
97    name: "art-module-intra-core-api-stubs-system-modules-lib",
98    srcs: [
99        ":openjdk_lambda_stub_files",
100        ":openjdk_generated_annotation_stub_files",
101    ],
102    libs: [
103        "art.module.intra.core.api",
104    ],
105    system_modules: "art-module-intra-core-api-stubs-bootstrap-system-modules",
106    sdk_version: "none",
107    patch_module: "java.base",
108}
109
110// Used when compiling against art.module.intra.core.api.stubs.
111java_system_modules {
112    name: "art-module-intra-core-api-stubs-system-modules",
113    visibility: [
114        "//art/build/sdk",
115        "//external/bouncycastle",
116        "//external/conscrypt",
117        "//external/icu/android_icu4j",
118    ],
119    libs: [
120        // The intra core API stubs library.
121        "art.module.intra.core.api.stubs",
122
123        // Additional classes needed by javac but which are not present in the stubs.
124        "art-module-intra-core-api-stubs-system-modules-lib",
125    ],
126}
127