blob: 055a05c5e772fca3866050edbc11b2db670e1487 [file] [log] [blame]
Makoto Onuki3aefe332023-10-06 10:02:07 -07001package {
2 // See: http://go/android-license-faq
3 // A large-scale-change added 'default_applicable_licenses' to import
4 // all of the 'license_kinds' from "frameworks_base_license"
5 // to get the below license kinds:
6 // SPDX-license-identifier-Apache-2.0
7 default_applicable_licenses: ["frameworks_base_license"],
8}
9
10filegroup {
11 name: "ravenwood-annotations",
12 srcs: [
13 "annotations-src/**/*.java",
14 ],
Anton Hanssond82cbc72023-10-30 20:00:39 +000015 path: "annotations-src",
Makoto Onuki3aefe332023-10-06 10:02:07 -070016 visibility: ["//visibility:public"],
17}
18
Makoto Onukidfade842024-05-02 15:42:08 -070019filegroup {
20 name: "ravenwood-services-policies",
21 srcs: [
22 "texts/ravenwood-services-policies.txt",
23 ],
24 visibility: ["//visibility:public"],
25}
26
27filegroup {
28 name: "ravenwood-framework-policies",
29 srcs: [
30 "texts/ravenwood-framework-policies.txt",
31 ],
32 visibility: ["//visibility:public"],
33}
34
35filegroup {
36 name: "ravenwood-standard-options",
37 srcs: [
38 "texts/ravenwood-standard-options.txt",
39 ],
40 visibility: ["//visibility:public"],
41}
42
43filegroup {
44 name: "ravenwood-annotation-allowed-classes",
45 srcs: [
46 "texts/ravenwood-annotation-allowed-classes.txt",
47 ],
48 visibility: ["//visibility:public"],
49}
50
Makoto Onuki3aefe332023-10-06 10:02:07 -070051java_library {
52 name: "ravenwood-annotations-lib",
53 srcs: [":ravenwood-annotations"],
54 sdk_version: "core_current",
55 host_supported: true,
56 visibility: ["//visibility:public"],
57}
Jeff Sharkey91f414e2023-11-07 15:43:59 -070058
Makoto Onuki5b1f7002024-05-16 15:44:38 -070059java_library {
60 name: "ravenwood-runtime-common",
61 host_supported: true,
62 sdk_version: "core_current",
63 srcs: [
64 "runtime-common-src/**/*.java",
65 ],
66 visibility: ["//visibility:private"],
67}
68
Makoto Onuki053eac82024-02-13 10:31:18 -080069java_library_host {
70 name: "ravenwood-helper-libcore-runtime.host",
71 srcs: [
72 "runtime-helper-src/libcore-fake/**/*.java",
73 ],
Makoto Onuki5b1f7002024-05-16 15:44:38 -070074 static_libs: [
75 "ravenwood-runtime-common",
76 ],
Makoto Onuki053eac82024-02-13 10:31:18 -080077 visibility: ["//visibility:private"],
78}
79
80java_host_for_device {
81 name: "ravenwood-helper-libcore-runtime",
82 libs: [
83 "ravenwood-helper-libcore-runtime.host",
84 ],
85 visibility: ["//visibility:private"],
86}
87
88java_library {
89 name: "ravenwood-helper-framework-runtime",
90 srcs: [
91 "runtime-helper-src/framework/**/*.java",
92 ],
Makoto Onuki5b1f7002024-05-16 15:44:38 -070093 static_libs: [
94 "ravenwood-runtime-common",
95 ],
Makoto Onuki053eac82024-02-13 10:31:18 -080096 libs: [
97 "framework-minus-apex.ravenwood",
Makoto Onuki50276f02024-02-13 14:58:56 -080098 "ravenwood-junit",
Makoto Onuki053eac82024-02-13 10:31:18 -080099 ],
100 visibility: ["//visibility:private"],
101}
102
103// Combine ravenwood-helper-*-runtime and create a single library, which we include
104// in the ravenwood runtime.
105// We do it this way rather than including the individual jars in the runtime, because
106// for some reason we couldn't include a java_host_for_device module in the ravenwood runtime.
107java_library {
108 name: "ravenwood-helper-runtime",
109 defaults: ["ravenwood-internal-only-visibility-java"],
110 static_libs: [
111 "ravenwood-helper-framework-runtime",
112 "ravenwood-helper-libcore-runtime",
113 ],
114}
115
Jeff Sharkey91f414e2023-11-07 15:43:59 -0700116java_library {
Jeff Sharkey41cfbb32023-11-16 09:26:28 -0700117 name: "ravenwood-junit-impl",
118 srcs: [
119 "junit-src/**/*.java",
120 "junit-impl-src/**/*.java",
121 ],
Jeff Sharkeyc91451a2024-01-29 10:55:45 -0700122 static_libs: [
123 "androidx.test.monitor-for-device",
Makoto Onuki5b1f7002024-05-16 15:44:38 -0700124 "ravenwood-runtime-common",
Jeff Sharkeyc91451a2024-01-29 10:55:45 -0700125 ],
Jeff Sharkey91f414e2023-11-07 15:43:59 -0700126 libs: [
Jeff Sharkey3e91c2b2024-02-15 14:12:07 -0700127 "android.test.mock",
Jeff Sharkey5e210d72023-11-10 11:22:05 -0700128 "framework-minus-apex.ravenwood",
Jeff Sharkey8a922ec2024-02-27 12:36:36 -0700129 "ravenwood-framework",
Jeff Sharkey3e91c2b2024-02-15 14:12:07 -0700130 "services.core.ravenwood",
Jeff Sharkey91f414e2023-11-07 15:43:59 -0700131 "junit",
132 ],
Makoto Onukia8bcba12023-11-22 14:00:24 -0800133 sdk_version: "core_current",
Jeff Sharkey41cfbb32023-11-16 09:26:28 -0700134 visibility: ["//frameworks/base"],
Jeff Sharkey3e91c2b2024-02-15 14:12:07 -0700135 jarjar_rules: ":ravenwood-services-jarjar-rules",
Jeff Sharkey41cfbb32023-11-16 09:26:28 -0700136}
137
Jeff Sharkey7037e352024-02-27 14:22:24 -0700138// Separated out from ravenwood-junit-impl since it needs to compile
139// against `module_current`
140java_library {
141 name: "ravenwood-junit-impl-flag",
142 srcs: [
143 "junit-flag-src/**/*.java",
144 ],
145 sdk_version: "module_current",
146 libs: [
147 "junit",
148 "flag-junit",
149 ],
150 visibility: ["//visibility:public"],
151}
152
Jeff Sharkey41cfbb32023-11-16 09:26:28 -0700153// Carefully compiles against only test_current to support tests that
154// want to verify they're unbundled. The "impl" library above is what
155// ships inside the Ravenwood environment to actually drive any API
156// access to implementation details.
157java_library {
158 name: "ravenwood-junit",
159 srcs: [
160 "junit-src/**/*.java",
161 "junit-stub-src/**/*.java",
Jeff Sharkey7037e352024-02-27 14:22:24 -0700162 "junit-flag-src/**/*.java",
Jeff Sharkey41cfbb32023-11-16 09:26:28 -0700163 ],
164 sdk_version: "test_current",
Makoto Onuki5b1f7002024-05-16 15:44:38 -0700165 static_libs: [
166 "ravenwood-runtime-common",
167 ],
Jeff Sharkey41cfbb32023-11-16 09:26:28 -0700168 libs: [
169 "junit",
Jeff Sharkey7037e352024-02-27 14:22:24 -0700170 "flag-junit",
Jeff Sharkey41cfbb32023-11-16 09:26:28 -0700171 ],
Jeff Sharkey91f414e2023-11-07 15:43:59 -0700172 visibility: ["//visibility:public"],
173}
Jeff Sharkey4ee8a652023-11-14 08:45:56 -0700174
Jeff Sharkey8a922ec2024-02-27 12:36:36 -0700175// Library used to publish a handful of `android.ravenwood` APIs into
176// the Ravenwood BCP; we don't want to publish these APIs into the BCP
177// on physical devices, which is why this is a separate library
178java_library {
179 name: "ravenwood-framework",
180 srcs: [
181 "framework-src/**/*.java",
182 ],
183 libs: [
184 "framework-minus-apex.ravenwood",
185 ],
186 sdk_version: "core_current",
187 visibility: ["//visibility:public"],
188}
189
Jeff Sharkeyc91451a2024-01-29 10:55:45 -0700190java_host_for_device {
191 name: "androidx.test.monitor-for-device",
192 libs: [
193 "androidx.test.monitor-for-host",
194 ],
195}
196
197java_device_for_host {
198 name: "androidx.test.monitor-for-host",
199 libs: [
200 "androidx.test.monitor",
201 ],
202}
Jeff Sharkey3e91c2b2024-02-15 14:12:07 -0700203
204filegroup {
205 name: "ravenwood-services-jarjar-rules",
Makoto Onukia3fe5622024-03-27 13:08:32 -0700206 srcs: ["texts/ravenwood-services-jarjar-rules.txt"],
Jeff Sharkey3e91c2b2024-02-15 14:12:07 -0700207 visibility: ["//frameworks/base"],
208}
Makoto Onuki3fb1f2b2024-03-27 13:08:32 -0700209
Makoto Onukiaedf30b2024-05-01 11:16:50 -0700210cc_library_shared {
211 name: "libravenwood_runtime",
212 host_supported: true,
213
214 cflags: [
215 "-Wall",
216 "-Werror",
217 "-Wno-unused-parameter",
218 "-Wthread-safety",
219 ],
220
221 srcs: [
Makoto Onuki5b1f7002024-05-16 15:44:38 -0700222 "runtime-jni/*.cpp",
Makoto Onukiaedf30b2024-05-01 11:16:50 -0700223 ],
224
225 shared_libs: [
226 "libbase",
227 "liblog",
228 "libnativehelper",
229 "libutils",
230 "libcutils",
231 ],
232 visibility: ["//frameworks/base"],
233}
234
Makoto Onuki3fb1f2b2024-03-27 13:08:32 -0700235// For collecting the *stats.csv files in a known directory under out/host/linux-x86/testcases/.
236// The "test" just shows the available stats filenames.
237sh_test_host {
238 name: "ravenwood-stats-checker",
Makoto Onukia3fe5622024-03-27 13:08:32 -0700239 src: "scripts/ravenwood-stats-checker.sh",
Makoto Onuki3fb1f2b2024-03-27 13:08:32 -0700240 test_suites: ["general-tests"],
241 data: [
242 ":framework-minus-apex.ravenwood.stats",
Makoto Onuki434d72822024-04-25 11:03:41 -0700243 ":framework-minus-apex.ravenwood.apis",
Makoto Onukie6ee0222024-05-14 10:26:07 -0700244 ":framework-minus-apex.ravenwood.keep_all",
Makoto Onuki3fb1f2b2024-03-27 13:08:32 -0700245 ":services.core.ravenwood.stats",
Makoto Onuki434d72822024-04-25 11:03:41 -0700246 ":services.core.ravenwood.apis",
Makoto Onukie6ee0222024-05-14 10:26:07 -0700247 ":services.core.ravenwood.keep_all",
Makoto Onuki3fb1f2b2024-03-27 13:08:32 -0700248 ],
249}