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