xref: /aosp_15_r20/frameworks/base/ravenwood/Android.bp (revision d57664e9bc4670b3ecf6748a746a57c557b6bc9e)
1package {
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    // OWNER: g/ravenwood
10    // Bug component: 25698
11    default_team: "trendy_team_ravenwood",
12}
13
14filegroup {
15    name: "ravenwood-common-policies",
16    srcs: [
17        "texts/ravenwood-common-policies.txt",
18    ],
19    visibility: ["//visibility:private"],
20}
21
22filegroup {
23    name: "ravenwood-services-policies",
24    srcs: [
25        "texts/ravenwood-services-policies.txt",
26    ],
27    visibility: ["//visibility:private"],
28}
29
30filegroup {
31    name: "ravenwood-framework-policies",
32    srcs: [
33        "texts/ravenwood-framework-policies.txt",
34    ],
35    visibility: ["//visibility:private"],
36}
37
38filegroup {
39    name: "ravenwood-standard-options",
40    srcs: [
41        "texts/ravenwood-standard-options.txt",
42    ],
43    visibility: ["//visibility:private"],
44}
45
46filegroup {
47    name: "ravenwood-annotation-allowed-classes",
48    srcs: [
49        "texts/ravenwood-annotation-allowed-classes.txt",
50    ],
51    visibility: ["//visibility:private"],
52}
53
54// This and the next module contain the same classes with different implementations.
55// "ravenwood-runtime-common-device" will be statically linked in device side tests.
56// "ravenwood-runtime-common-ravenwood" will only exist in ravenwood-runtime, which will take
57// precedence even if the test jar (accidentally) contains "ravenwood-runtime-common-device".
58// "ravenwood-runtime-common" uses it to detect if the rutime is Ravenwood or not.
59java_library {
60    name: "ravenwood-runtime-common-ravenwood",
61    host_supported: true,
62    sdk_version: "core_current",
63    srcs: [
64        "runtime-common-ravenwood-src/**/*.java",
65    ],
66    visibility: [
67        // Some tests need to access the utilities.
68        ":__subpackages__",
69    ],
70}
71
72java_library {
73    name: "ravenwood-runtime-common-device",
74    host_supported: true,
75    sdk_version: "core_current",
76    srcs: [
77        "runtime-common-device-src/**/*.java",
78    ],
79    visibility: ["//visibility:private"],
80}
81
82java_library {
83    name: "ravenwood-runtime-common",
84    host_supported: true,
85    sdk_version: "core_current",
86    srcs: [
87        "runtime-common-src/**/*.java",
88    ],
89    libs: [
90        "ravenwood-runtime-common-ravenwood",
91    ],
92    static_libs: [
93        "framework-annotations-lib", // should it be "libs" instead?
94    ],
95    visibility: ["//visibility:private"],
96}
97
98java_library_host {
99    name: "ravenwood-helper-libcore-runtime.host",
100    srcs: [
101        "runtime-helper-src/libcore-fake/**/*.java",
102    ],
103    libs: [
104        "app-compat-annotations",
105    ],
106    static_libs: [
107        "ravenwood-runtime-common",
108    ],
109    visibility: ["//visibility:private"],
110}
111
112java_host_for_device {
113    name: "ravenwood-helper-libcore-runtime",
114    libs: [
115        "ravenwood-helper-libcore-runtime.host",
116    ],
117    visibility: ["//visibility:private"],
118}
119
120java_library {
121    name: "ravenwood-helper-framework-runtime",
122    srcs: [
123        "runtime-helper-src/framework/**/*.java",
124    ],
125    static_libs: [
126        "ravenwood-runtime-common",
127        "androidx.annotation_annotation",
128    ],
129    libs: [
130        "framework-minus-apex.ravenwood",
131        "framework-configinfrastructure.ravenwood",
132        "ravenwood-helper-libcore-runtime",
133    ],
134    sdk_version: "core_current",
135    visibility: ["//visibility:private"],
136}
137
138// Combine ravenwood-helper-*-runtime and create a single library, which we include
139// in the ravenwood runtime.
140// We do it this way rather than including the individual jars in the runtime, because
141// for some reason we couldn't include a java_host_for_device module in the ravenwood runtime.
142java_library {
143    name: "ravenwood-helper-runtime",
144    defaults: ["ravenwood-internal-only-visibility-java"],
145    static_libs: [
146        "ravenwood-helper-framework-runtime",
147        "ravenwood-helper-libcore-runtime",
148    ],
149}
150
151java_library {
152    name: "ravenwood-junit-impl",
153    srcs: [
154        "junit-src/**/*.java",
155        "junit-impl-src/**/*.java",
156    ],
157    static_libs: [
158        "androidx.test.monitor-for-device",
159        "ravenwood-runtime-common",
160    ],
161    libs: [
162        "android.test.mock.impl",
163        "framework-minus-apex.ravenwood",
164        "ravenwood-framework",
165        "services.core.ravenwood",
166        "junit",
167        "framework-annotations-lib",
168        "ravenwood-helper-framework-runtime",
169        "ravenwood-helper-libcore-runtime",
170        "hoststubgen-helper-runtime.ravenwood",
171        "mockito-ravenwood-prebuilt",
172    ],
173    visibility: [":__subpackages__"],
174    jarjar_rules: ":ravenwood-services-jarjar-rules",
175}
176
177java_device_for_host {
178    name: "ravenwood-junit-impl-for-ravenizer",
179    libs: [
180        "ravenwood-junit-impl",
181    ],
182    visibility: [":__subpackages__"],
183}
184
185// Carefully compiles against only module_current to support tests that
186// want to verify they're unbundled.  The "impl" library above is what
187// ships inside the Ravenwood environment to actually drive any API
188// access to implementation details.
189// We can't use test_current here because this library needs to be statically
190// linked to mainline tests as well, which can't use test APIs because they
191// need to be able to run on multiple API levels.
192java_library {
193    name: "ravenwood-junit",
194    srcs: [
195        "junit-src/**/*.java",
196        "junit-stub-src/**/*.java",
197        "junit-flag-src/**/*.java",
198    ],
199    sdk_version: "module_current",
200    static_libs: [
201        "ravenwood-runtime-common",
202        "ravenwood-runtime-common-device",
203    ],
204    libs: [
205        "junit",
206        "flag-junit",
207        "framework-annotations-lib",
208    ],
209    visibility: ["//visibility:public"],
210}
211
212// Library used to publish a handful of `android.ravenwood` APIs into
213// the Ravenwood BCP; we don't want to publish these APIs into the BCP
214// on physical devices, which is why this is a separate library
215java_library {
216    name: "ravenwood-framework",
217    srcs: [
218        "framework-src/**/*.java",
219    ],
220    libs: [
221        "framework-minus-apex.ravenwood",
222    ],
223    sdk_version: "core_current",
224    visibility: ["//visibility:public"],
225}
226
227java_host_for_device {
228    name: "androidx.test.monitor-for-device",
229    libs: [
230        "androidx.test.monitor-for-host",
231    ],
232}
233
234java_device_for_host {
235    name: "androidx.test.monitor-for-host",
236    libs: [
237        "androidx.test.monitor",
238    ],
239}
240
241filegroup {
242    name: "ravenwood-framework-jarjar-rules",
243    srcs: ["texts/ravenwood-framework-jarjar-rules.txt"],
244    visibility: ["//frameworks/base"],
245}
246
247filegroup {
248    name: "ravenwood-services-jarjar-rules",
249    srcs: ["texts/ravenwood-services-jarjar-rules.txt"],
250    visibility: ["//frameworks/base"],
251}
252
253cc_defaults {
254    name: "ravenwood_jni_defaults",
255    cflags: [
256        "-Wall",
257        "-Werror",
258        "-Wno-unused-parameter",
259        "-Wthread-safety",
260    ],
261    static_libs: [
262        "libnativehelper_jvm",
263    ],
264    shared_libs: [
265        "liblog",
266    ],
267    visibility: ["//visibility:private"],
268}
269
270// We need this as a separate library because we need to overload the
271// sysprop symbols before libbase is loaded into the process
272cc_library_host_shared {
273    name: "libravenwood_initializer",
274    defaults: ["ravenwood_jni_defaults"],
275    srcs: ["runtime-jni/ravenwood_initializer.cpp"],
276}
277
278cc_library_host_shared {
279    name: "libravenwood_runtime",
280    defaults: ["ravenwood_jni_defaults"],
281    srcs: [
282        "runtime-jni/ravenwood_runtime.cpp",
283        "runtime-jni/ravenwood_os_constants.cpp",
284    ],
285    shared_libs: [
286        "libbase",
287        "libutils",
288        "libcutils",
289    ],
290}
291
292// For collecting the *stats.csv files in a known directory under out/host/linux-x86/testcases/.
293// The "test" just shows the available stats filenames.
294sh_test_host {
295    name: "ravenwood-stats-checker",
296    src: "scripts/ravenwood-stats-checker.sh",
297    test_suites: ["general-tests"],
298    device_common_data: [
299        ":framework-minus-apex.ravenwood-base_all{hoststubgen_framework-minus-apex_stats.csv}",
300        ":framework-minus-apex.ravenwood-base_all{hoststubgen_framework-minus-apex_apis.csv}",
301        ":framework-minus-apex.ravenwood-base_all{hoststubgen_framework-minus-apex_keep_all.txt}",
302        ":framework-minus-apex.ravenwood-base_all{hoststubgen_framework-minus-apex_dump.txt}",
303        ":services.core.ravenwood-base{hoststubgen_services.core_stats.csv}",
304        ":services.core.ravenwood-base{hoststubgen_services.core_apis.csv}",
305        ":services.core.ravenwood-base{hoststubgen_services.core_keep_all.txt}",
306        ":services.core.ravenwood-base{hoststubgen_services.core_dump.txt}",
307
308        ":framework-configinfrastructure.ravenwood-base{framework-configinfrastructure_stats.csv}",
309        ":framework-configinfrastructure.ravenwood-base{framework-configinfrastructure_apis.csv}",
310        ":framework-configinfrastructure.ravenwood-base{framework-configinfrastructure_keep_all.txt}",
311        ":framework-configinfrastructure.ravenwood-base{framework-configinfrastructure_dump.txt}",
312
313        ":framework-statsd.ravenwood-base{framework-statsd_stats.csv}",
314        ":framework-statsd.ravenwood-base{framework-statsd_apis.csv}",
315        ":framework-statsd.ravenwood-base{framework-statsd_keep_all.txt}",
316        ":framework-statsd.ravenwood-base{framework-statsd_dump.txt}",
317    ],
318}
319
320java_library {
321    name: "services.fakes.ravenwood-jarjar",
322    installable: false,
323    srcs: [":services.fakes-sources"],
324    libs: [
325        "ravenwood-framework",
326        "services.core.ravenwood",
327    ],
328    jarjar_rules: ":ravenwood-services-jarjar-rules",
329    visibility: ["//visibility:private"],
330}
331
332java_library {
333    name: "mockito-ravenwood-prebuilt",
334    installable: false,
335    static_libs: [
336        "mockito-robolectric-prebuilt",
337    ],
338}
339
340java_library {
341    name: "inline-mockito-ravenwood-prebuilt",
342    installable: false,
343    static_libs: [
344        "inline-mockito-robolectric-prebuilt",
345    ],
346}
347
348filegroup {
349    name: "ravenwood-data",
350    device_common_srcs: [
351        ":system-build.prop",
352        ":framework-res",
353        ":ravenwood-empty-res",
354        ":framework-platform-compat-config",
355        ":services-platform-compat-config",
356        "texts/ravenwood-build.prop",
357    ],
358    device_first_srcs: [
359        ":apex_icu.dat",
360    ],
361    visibility: ["//visibility:private"],
362}
363
364// Keep in sync with build/make/target/product/generic/Android.bp
365filegroup {
366    name: "ravenwood-fonts",
367    device_common_srcs: [
368        ":AndroidClock.ttf",
369        ":CarroisGothicSC-Regular.ttf",
370        ":ComingSoon.ttf",
371        ":CutiveMono.ttf",
372        ":DancingScript-Regular.ttf",
373        ":DroidSansMono.ttf",
374        ":NotoColorEmoji.ttf",
375        ":NotoColorEmojiFlags.ttf",
376        ":NotoNaskhArabic-Bold.ttf",
377        ":NotoNaskhArabic-Regular.ttf",
378        ":NotoNaskhArabicUI-Bold.ttf",
379        ":NotoNaskhArabicUI-Regular.ttf",
380        ":NotoSansAdlam-VF.ttf",
381        ":NotoSansAhom-Regular.otf",
382        ":NotoSansAnatolianHieroglyphs-Regular.otf",
383        ":NotoSansArmenian-VF.ttf",
384        ":NotoSansAvestan-Regular.ttf",
385        ":NotoSansBalinese-Regular.ttf",
386        ":NotoSansBamum-Regular.ttf",
387        ":NotoSansBassaVah-Regular.otf",
388        ":NotoSansBatak-Regular.ttf",
389        ":NotoSansBengali-VF.ttf",
390        ":NotoSansBengaliUI-VF.ttf",
391        ":NotoSansBhaiksuki-Regular.otf",
392        ":NotoSansBrahmi-Regular.ttf",
393        ":NotoSansBuginese-Regular.ttf",
394        ":NotoSansBuhid-Regular.ttf",
395        ":NotoSansCJK-Regular.ttc",
396        ":NotoSansCanadianAboriginal-Regular.ttf",
397        ":NotoSansCarian-Regular.ttf",
398        ":NotoSansChakma-Regular.otf",
399        ":NotoSansCham-Bold.ttf",
400        ":NotoSansCham-Regular.ttf",
401        ":NotoSansCherokee-Regular.ttf",
402        ":NotoSansCoptic-Regular.ttf",
403        ":NotoSansCuneiform-Regular.ttf",
404        ":NotoSansCypriot-Regular.ttf",
405        ":NotoSansDeseret-Regular.ttf",
406        ":NotoSansDevanagari-VF.ttf",
407        ":NotoSansDevanagariUI-VF.ttf",
408        ":NotoSansEgyptianHieroglyphs-Regular.ttf",
409        ":NotoSansElbasan-Regular.otf",
410        ":NotoSansEthiopic-VF.ttf",
411        ":NotoSansGeorgian-VF.ttf",
412        ":NotoSansGlagolitic-Regular.ttf",
413        ":NotoSansGothic-Regular.ttf",
414        ":NotoSansGrantha-Regular.ttf",
415        ":NotoSansGujarati-Bold.ttf",
416        ":NotoSansGujarati-Regular.ttf",
417        ":NotoSansGujaratiUI-Bold.ttf",
418        ":NotoSansGujaratiUI-Regular.ttf",
419        ":NotoSansGunjalaGondi-Regular.otf",
420        ":NotoSansGurmukhi-VF.ttf",
421        ":NotoSansGurmukhiUI-VF.ttf",
422        ":NotoSansHanifiRohingya-Regular.otf",
423        ":NotoSansHanunoo-Regular.ttf",
424        ":NotoSansHatran-Regular.otf",
425        ":NotoSansHebrew-Bold.ttf",
426        ":NotoSansHebrew-Regular.ttf",
427        ":NotoSansImperialAramaic-Regular.ttf",
428        ":NotoSansInscriptionalPahlavi-Regular.ttf",
429        ":NotoSansInscriptionalParthian-Regular.ttf",
430        ":NotoSansJavanese-Regular.otf",
431        ":NotoSansKaithi-Regular.ttf",
432        ":NotoSansKannada-VF.ttf",
433        ":NotoSansKannadaUI-VF.ttf",
434        ":NotoSansKayahLi-Regular.ttf",
435        ":NotoSansKharoshthi-Regular.ttf",
436        ":NotoSansKhmer-VF.ttf",
437        ":NotoSansKhmerUI-Bold.ttf",
438        ":NotoSansKhmerUI-Regular.ttf",
439        ":NotoSansKhojki-Regular.otf",
440        ":NotoSansLao-Bold.ttf",
441        ":NotoSansLao-Regular.ttf",
442        ":NotoSansLaoUI-Bold.ttf",
443        ":NotoSansLaoUI-Regular.ttf",
444        ":NotoSansLepcha-Regular.ttf",
445        ":NotoSansLimbu-Regular.ttf",
446        ":NotoSansLinearA-Regular.otf",
447        ":NotoSansLinearB-Regular.ttf",
448        ":NotoSansLisu-Regular.ttf",
449        ":NotoSansLycian-Regular.ttf",
450        ":NotoSansLydian-Regular.ttf",
451        ":NotoSansMalayalam-VF.ttf",
452        ":NotoSansMalayalamUI-VF.ttf",
453        ":NotoSansMandaic-Regular.ttf",
454        ":NotoSansManichaean-Regular.otf",
455        ":NotoSansMarchen-Regular.otf",
456        ":NotoSansMasaramGondi-Regular.otf",
457        ":NotoSansMedefaidrin-VF.ttf",
458        ":NotoSansMeeteiMayek-Regular.ttf",
459        ":NotoSansMeroitic-Regular.otf",
460        ":NotoSansMiao-Regular.otf",
461        ":NotoSansModi-Regular.ttf",
462        ":NotoSansMongolian-Regular.ttf",
463        ":NotoSansMro-Regular.otf",
464        ":NotoSansMultani-Regular.otf",
465        ":NotoSansMyanmar-Bold.otf",
466        ":NotoSansMyanmar-Medium.otf",
467        ":NotoSansMyanmar-Regular.otf",
468        ":NotoSansMyanmarUI-Bold.otf",
469        ":NotoSansMyanmarUI-Medium.otf",
470        ":NotoSansMyanmarUI-Regular.otf",
471        ":NotoSansNKo-Regular.ttf",
472        ":NotoSansNabataean-Regular.otf",
473        ":NotoSansNewTaiLue-Regular.ttf",
474        ":NotoSansNewa-Regular.otf",
475        ":NotoSansOgham-Regular.ttf",
476        ":NotoSansOlChiki-Regular.ttf",
477        ":NotoSansOldItalic-Regular.ttf",
478        ":NotoSansOldNorthArabian-Regular.otf",
479        ":NotoSansOldPermic-Regular.otf",
480        ":NotoSansOldPersian-Regular.ttf",
481        ":NotoSansOldSouthArabian-Regular.ttf",
482        ":NotoSansOldTurkic-Regular.ttf",
483        ":NotoSansOriya-Bold.ttf",
484        ":NotoSansOriya-Regular.ttf",
485        ":NotoSansOriyaUI-Bold.ttf",
486        ":NotoSansOriyaUI-Regular.ttf",
487        ":NotoSansOsage-Regular.ttf",
488        ":NotoSansOsmanya-Regular.ttf",
489        ":NotoSansPahawhHmong-Regular.otf",
490        ":NotoSansPalmyrene-Regular.otf",
491        ":NotoSansPauCinHau-Regular.otf",
492        ":NotoSansPhagsPa-Regular.ttf",
493        ":NotoSansPhoenician-Regular.ttf",
494        ":NotoSansRejang-Regular.ttf",
495        ":NotoSansRunic-Regular.ttf",
496        ":NotoSansSamaritan-Regular.ttf",
497        ":NotoSansSaurashtra-Regular.ttf",
498        ":NotoSansSharada-Regular.otf",
499        ":NotoSansShavian-Regular.ttf",
500        ":NotoSansSinhala-VF.ttf",
501        ":NotoSansSinhalaUI-VF.ttf",
502        ":NotoSansSoraSompeng-Regular.otf",
503        ":NotoSansSoyombo-VF.ttf",
504        ":NotoSansSundanese-Regular.ttf",
505        ":NotoSansSylotiNagri-Regular.ttf",
506        ":NotoSansSymbols-Regular-Subsetted.ttf",
507        ":NotoSansSymbols-Regular-Subsetted2.ttf",
508        ":NotoSansSyriacEastern-Regular.ttf",
509        ":NotoSansSyriacEstrangela-Regular.ttf",
510        ":NotoSansSyriacWestern-Regular.ttf",
511        ":NotoSansTagalog-Regular.ttf",
512        ":NotoSansTagbanwa-Regular.ttf",
513        ":NotoSansTaiLe-Regular.ttf",
514        ":NotoSansTaiTham-Regular.ttf",
515        ":NotoSansTaiViet-Regular.ttf",
516        ":NotoSansTakri-VF.ttf",
517        ":NotoSansTamil-VF.ttf",
518        ":NotoSansTamilUI-VF.ttf",
519        ":NotoSansTelugu-VF.ttf",
520        ":NotoSansTeluguUI-VF.ttf",
521        ":NotoSansThaana-Bold.ttf",
522        ":NotoSansThaana-Regular.ttf",
523        ":NotoSansThai-Bold.ttf",
524        ":NotoSansThai-Regular.ttf",
525        ":NotoSansThaiUI-Bold.ttf",
526        ":NotoSansThaiUI-Regular.ttf",
527        ":NotoSansTifinagh-Regular.otf",
528        ":NotoSansUgaritic-Regular.ttf",
529        ":NotoSansVai-Regular.ttf",
530        ":NotoSansWancho-Regular.otf",
531        ":NotoSansWarangCiti-Regular.otf",
532        ":NotoSansYi-Regular.ttf",
533        ":NotoSerif-Bold.ttf",
534        ":NotoSerif-BoldItalic.ttf",
535        ":NotoSerif-Italic.ttf",
536        ":NotoSerif-Regular.ttf",
537        ":NotoSerifArmenian-VF.ttf",
538        ":NotoSerifBengali-VF.ttf",
539        ":NotoSerifCJK-Regular.ttc",
540        ":NotoSerifDevanagari-VF.ttf",
541        ":NotoSerifDogra-Regular.ttf",
542        ":NotoSerifEthiopic-VF.ttf",
543        ":NotoSerifGeorgian-VF.ttf",
544        ":NotoSerifGujarati-VF.ttf",
545        ":NotoSerifGurmukhi-VF.ttf",
546        ":NotoSerifHebrew-Bold.ttf",
547        ":NotoSerifHebrew-Regular.ttf",
548        ":NotoSerifHentaigana.ttf",
549        ":NotoSerifKannada-VF.ttf",
550        ":NotoSerifKhmer-Bold.otf",
551        ":NotoSerifKhmer-Regular.otf",
552        ":NotoSerifLao-Bold.ttf",
553        ":NotoSerifLao-Regular.ttf",
554        ":NotoSerifMalayalam-VF.ttf",
555        ":NotoSerifMyanmar-Bold.otf",
556        ":NotoSerifMyanmar-Regular.otf",
557        ":NotoSerifNyiakengPuachueHmong-VF.ttf",
558        ":NotoSerifSinhala-VF.ttf",
559        ":NotoSerifTamil-VF.ttf",
560        ":NotoSerifTelugu-VF.ttf",
561        ":NotoSerifThai-Bold.ttf",
562        ":NotoSerifThai-Regular.ttf",
563        ":NotoSerifTibetan-VF.ttf",
564        ":NotoSerifYezidi-VF.ttf",
565        ":Roboto-Regular.ttf",
566        ":RobotoFlex-Regular.ttf",
567        ":RobotoStatic-Regular.ttf",
568        ":SourceSansPro-Bold.ttf",
569        ":SourceSansPro-BoldItalic.ttf",
570        ":SourceSansPro-Italic.ttf",
571        ":SourceSansPro-Regular.ttf",
572        ":SourceSansPro-SemiBold.ttf",
573        ":SourceSansPro-SemiBoldItalic.ttf",
574    ],
575    device_first_srcs: [
576        ":font_fallback.xml",
577        ":fonts.xml",
578    ],
579    visibility: ["//visibility:private"],
580}
581
582// JARs in "ravenwood-runtime" are set to the classpath, sorted alphabetically.
583// Rename some of the dependencies to make sure they're included in the intended order.
584
585java_library {
586    name: "100-framework-minus-apex.ravenwood",
587    installable: false,
588    static_libs: ["framework-minus-apex.ravenwood"],
589    visibility: ["//visibility:private"],
590}
591
592java_library {
593    name: "200-kxml2-android",
594    installable: false,
595    static_libs: ["kxml2-android"],
596    visibility: ["//visibility:private"],
597}
598
599java_library {
600    name: "z00-all-updatable-modules-system-stubs",
601    installable: false,
602    static_libs: ["all-updatable-modules-system-stubs-for-host"],
603    visibility: ["//visibility:private"],
604}
605
606android_ravenwood_libgroup {
607    name: "ravenwood-runtime",
608    data: [":ravenwood-data"],
609    fonts: [":ravenwood-fonts"],
610    libs: [
611        "100-framework-minus-apex.ravenwood",
612        "200-kxml2-android",
613
614        "ravenwood-runtime-common-ravenwood",
615
616        "android.test.mock.ravenwood",
617        "ravenwood-helper-runtime",
618        "hoststubgen-helper-runtime.ravenwood",
619        "services.core.ravenwood-jarjar",
620        "services.fakes.ravenwood-jarjar",
621
622        // ICU
623        "core-icu4j-for-host.ravenwood",
624        "icu4j-icudata-jarjar",
625        "icu4j-icutzdata-jarjar",
626
627        // DeviceConfig
628        "framework-configinfrastructure.ravenwood",
629
630        // StatsD
631        "framework-statsd.ravenwood",
632
633        // Provide runtime versions of utils linked in below
634        "junit",
635        "truth",
636        "flag-junit",
637        "ravenwood-framework",
638        "ravenwood-junit-impl",
639        "mockito-ravenwood-prebuilt",
640        "inline-mockito-ravenwood-prebuilt",
641
642        // It's a stub, so it should be towards the end.
643        "z00-all-updatable-modules-system-stubs",
644    ],
645    jni_libs: [
646        // Libraries has to be loaded in the following order
647        "libravenwood_initializer",
648        "libravenwood_runtime",
649        "libandroid_runtime",
650    ],
651}
652
653android_ravenwood_libgroup {
654    name: "ravenwood-utils",
655    libs: [
656        "junit",
657        "truth",
658        "flag-junit",
659        "ravenwood-framework",
660        "ravenwood-junit",
661        "mockito-ravenwood-prebuilt",
662        "inline-mockito-ravenwood-prebuilt",
663    ],
664}
665
666build = [
667    "Framework.bp",
668]
669