1// Copyright (C) 2020 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// The SDK for the art module apex.
16sdk {
17    name: "art-module-sdk",
18    host_supported: true,
19    native_header_libs: [
20        "jni_headers",
21        "libnativehelper_header_only",
22    ],
23    native_shared_libs: [
24        "libandroidio",
25    ],
26    target: {
27        android: {
28            java_header_libs: [
29                // Needed by any module that builds against any non-numeric
30                // sdk_version other than "none".
31                //
32                // This is actually only used for compiling Java 8 and kotlin.
33                // Java 9 uses system modules which encapsulates this
34                // internally.
35                "core-lambda-stubs",
36
37                // Needed by any module that builds against any non-numeric
38                // sdk_version other than "none" or "core_platform".
39                //
40                // This is actually only used for compiling Java 8 and kotlin.
41                // Java 9 uses system modules which encapsulates this
42                // internally.
43                "core.current.stubs",
44
45                // Needed by any module that builds against an sdk_version of
46                // "core_platform".
47                //
48                // This is actually only used for compiling Java 8 and kotlin.
49                // Java 9 uses system modules which encapsulates this
50                // internally.
51                "legacy.core.platform.api.stubs",
52                "stable.core.platform.api.stubs",
53            ],
54
55            java_system_modules: [
56                "art-module-public-api-stubs-system-modules",
57                "art-module-intra-core-api-stubs-system-modules",
58                "legacy-art-module-platform-api-stubs-system-modules",
59                "stable-art-module-platform-api-stubs-system-modules",
60                "core-current-stubs-system-modules",
61                "legacy-core-platform-api-stubs-system-modules",
62                "stable-core-platform-api-stubs-system-modules",
63            ],
64            native_static_libs: [
65                "libartimagevalues",
66            ],
67        },
68        darwin: {
69            enabled: false,
70        },
71    },
72}
73
74// Exported host tools and libraries.
75module_exports {
76    name: "art-module-host-exports",
77    host_supported: true,
78    device_supported: false,
79    target: {
80        host: {
81            // Set in target.host because the top level compile_multilib
82            // property is fixed to "both" in the sdk/module_exports
83            // implementation and cannot be overridden any other way.
84            compile_multilib: "64",
85
86            java_libs: [
87                "timezone-host",
88            ],
89            native_binaries: [
90                "hiddenapi",
91                "dex2oat",
92                "dex2oatd",
93            ],
94            native_shared_libs: [
95                // The following three libraries are internal implementation libraries
96                // that are needed by hiddenapi.
97                // TODO(http://b/155372760): Remove dependencies.
98                "libartbase",
99                "libartpalette",
100                "libdexfile",
101            ],
102        },
103        darwin: {
104            enabled: false,
105        },
106    },
107}
108
109// Exported tests and supporting libraries
110module_exports {
111    name: "art-module-test-exports",
112    host_supported: true,
113    java_libs: [
114        // The following bouncycastle modules are required by:
115        // * conscrypt-benchmarks (all)
116        // * conscrypt-tests (all)
117        // * signapk (all except ocsp)
118        "bouncycastle-unbundled",
119        "bouncycastle-bcpkix-unbundled",
120        "bouncycastle-ocsp-unbundled",
121    ],
122    target: {
123        android: {
124            java_libs: [
125                "core-compat-test-rules",
126                "core-compat-test-rules",
127                "core-test-rules",
128                "core-tests-support",
129                "okhttp-tests-nojarjar",
130            ],
131            java_tests: [
132                "libcore-crypto-tests",
133            ],
134            native_shared_libs: [
135                "libjavacoretests",
136            ],
137        },
138        darwin: {
139            enabled: false,
140        },
141    },
142}
143