blob: b2d8cff23cd5569181ec921ccb6e205374d64bf9 [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 Onuki053eac82024-02-13 10:31:18 -080059java_library_host {
60 name: "ravenwood-helper-libcore-runtime.host",
61 srcs: [
62 "runtime-helper-src/libcore-fake/**/*.java",
63 ],
64 visibility: ["//visibility:private"],
65}
66
67java_host_for_device {
68 name: "ravenwood-helper-libcore-runtime",
69 libs: [
70 "ravenwood-helper-libcore-runtime.host",
71 ],
72 visibility: ["//visibility:private"],
73}
74
75java_library {
76 name: "ravenwood-helper-framework-runtime",
77 srcs: [
78 "runtime-helper-src/framework/**/*.java",
79 ],
80 libs: [
81 "framework-minus-apex.ravenwood",
Makoto Onuki50276f02024-02-13 14:58:56 -080082 "ravenwood-junit",
Makoto Onuki053eac82024-02-13 10:31:18 -080083 ],
84 visibility: ["//visibility:private"],
85}
86
87// Combine ravenwood-helper-*-runtime and create a single library, which we include
88// in the ravenwood runtime.
89// We do it this way rather than including the individual jars in the runtime, because
90// for some reason we couldn't include a java_host_for_device module in the ravenwood runtime.
91java_library {
92 name: "ravenwood-helper-runtime",
93 defaults: ["ravenwood-internal-only-visibility-java"],
94 static_libs: [
95 "ravenwood-helper-framework-runtime",
96 "ravenwood-helper-libcore-runtime",
97 ],
98}
99
Jeff Sharkey91f414e2023-11-07 15:43:59 -0700100java_library {
Jeff Sharkey41cfbb32023-11-16 09:26:28 -0700101 name: "ravenwood-junit-impl",
102 srcs: [
103 "junit-src/**/*.java",
104 "junit-impl-src/**/*.java",
105 ],
Jeff Sharkeyc91451a2024-01-29 10:55:45 -0700106 static_libs: [
107 "androidx.test.monitor-for-device",
108 ],
Jeff Sharkey91f414e2023-11-07 15:43:59 -0700109 libs: [
Jeff Sharkey3e91c2b2024-02-15 14:12:07 -0700110 "android.test.mock",
Jeff Sharkey5e210d72023-11-10 11:22:05 -0700111 "framework-minus-apex.ravenwood",
Jeff Sharkey8a922ec2024-02-27 12:36:36 -0700112 "ravenwood-framework",
Jeff Sharkey3e91c2b2024-02-15 14:12:07 -0700113 "services.core.ravenwood",
Jeff Sharkey91f414e2023-11-07 15:43:59 -0700114 "junit",
115 ],
Makoto Onukia8bcba12023-11-22 14:00:24 -0800116 sdk_version: "core_current",
Jeff Sharkey41cfbb32023-11-16 09:26:28 -0700117 visibility: ["//frameworks/base"],
Jeff Sharkey3e91c2b2024-02-15 14:12:07 -0700118 jarjar_rules: ":ravenwood-services-jarjar-rules",
Jeff Sharkey41cfbb32023-11-16 09:26:28 -0700119}
120
Jeff Sharkey7037e352024-02-27 14:22:24 -0700121// Separated out from ravenwood-junit-impl since it needs to compile
122// against `module_current`
123java_library {
124 name: "ravenwood-junit-impl-flag",
125 srcs: [
126 "junit-flag-src/**/*.java",
127 ],
128 sdk_version: "module_current",
129 libs: [
130 "junit",
131 "flag-junit",
132 ],
133 visibility: ["//visibility:public"],
134}
135
Jeff Sharkey41cfbb32023-11-16 09:26:28 -0700136// Carefully compiles against only test_current to support tests that
137// want to verify they're unbundled. The "impl" library above is what
138// ships inside the Ravenwood environment to actually drive any API
139// access to implementation details.
140java_library {
141 name: "ravenwood-junit",
142 srcs: [
143 "junit-src/**/*.java",
144 "junit-stub-src/**/*.java",
Jeff Sharkey7037e352024-02-27 14:22:24 -0700145 "junit-flag-src/**/*.java",
Jeff Sharkey41cfbb32023-11-16 09:26:28 -0700146 ],
147 sdk_version: "test_current",
148 libs: [
149 "junit",
Jeff Sharkey7037e352024-02-27 14:22:24 -0700150 "flag-junit",
Jeff Sharkey41cfbb32023-11-16 09:26:28 -0700151 ],
Jeff Sharkey91f414e2023-11-07 15:43:59 -0700152 visibility: ["//visibility:public"],
153}
Jeff Sharkey4ee8a652023-11-14 08:45:56 -0700154
Jeff Sharkey8a922ec2024-02-27 12:36:36 -0700155// Library used to publish a handful of `android.ravenwood` APIs into
156// the Ravenwood BCP; we don't want to publish these APIs into the BCP
157// on physical devices, which is why this is a separate library
158java_library {
159 name: "ravenwood-framework",
160 srcs: [
161 "framework-src/**/*.java",
162 ],
163 libs: [
164 "framework-minus-apex.ravenwood",
165 ],
166 sdk_version: "core_current",
167 visibility: ["//visibility:public"],
168}
169
Jeff Sharkeyc91451a2024-01-29 10:55:45 -0700170java_host_for_device {
171 name: "androidx.test.monitor-for-device",
172 libs: [
173 "androidx.test.monitor-for-host",
174 ],
175}
176
177java_device_for_host {
178 name: "androidx.test.monitor-for-host",
179 libs: [
180 "androidx.test.monitor",
181 ],
182}
Jeff Sharkey3e91c2b2024-02-15 14:12:07 -0700183
184filegroup {
185 name: "ravenwood-services-jarjar-rules",
Makoto Onukia3fe5622024-03-27 13:08:32 -0700186 srcs: ["texts/ravenwood-services-jarjar-rules.txt"],
Jeff Sharkey3e91c2b2024-02-15 14:12:07 -0700187 visibility: ["//frameworks/base"],
188}
Makoto Onuki3fb1f2b2024-03-27 13:08:32 -0700189
190// For collecting the *stats.csv files in a known directory under out/host/linux-x86/testcases/.
191// The "test" just shows the available stats filenames.
192sh_test_host {
193 name: "ravenwood-stats-checker",
Makoto Onukia3fe5622024-03-27 13:08:32 -0700194 src: "scripts/ravenwood-stats-checker.sh",
Makoto Onuki3fb1f2b2024-03-27 13:08:32 -0700195 test_suites: ["general-tests"],
196 data: [
197 ":framework-minus-apex.ravenwood.stats",
Makoto Onuki434d72822024-04-25 11:03:41 -0700198 ":framework-minus-apex.ravenwood.apis",
Makoto Onuki3fb1f2b2024-03-27 13:08:32 -0700199 ":services.core.ravenwood.stats",
Makoto Onuki434d72822024-04-25 11:03:41 -0700200 ":services.core.ravenwood.apis",
Makoto Onuki3fb1f2b2024-03-27 13:08:32 -0700201 ],
202}