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