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