package {
    // See: http://go/android-license-faq
    // A large-scale-change added 'default_applicable_licenses' to import
    // all of the 'license_kinds' from "frameworks_base_license"
    // to get the below license kinds:
    //   SPDX-license-identifier-Apache-2.0
    default_applicable_licenses: ["frameworks_base_license"],

    // OWNER: g/ravenwood
    // Bug component: 25698
    default_team: "trendy_team_ravenwood",
}

filegroup {
    name: "ravenwood-common-policies",
    srcs: [
        "texts/ravenwood-common-policies.txt",
    ],
    visibility: ["//visibility:private"],
}

filegroup {
    name: "ravenwood-services-policies",
    srcs: [
        "texts/ravenwood-services-policies.txt",
    ],
    visibility: ["//visibility:private"],
}

filegroup {
    name: "ravenwood-framework-policies",
    srcs: [
        "texts/ravenwood-framework-policies.txt",
    ],
    visibility: ["//visibility:private"],
}

filegroup {
    name: "ravenwood-standard-options",
    srcs: [
        "texts/ravenwood-standard-options.txt",
    ],
    visibility: ["//visibility:private"],
}

filegroup {
    name: "ravenwood-annotation-allowed-classes",
    srcs: [
        "texts/ravenwood-annotation-allowed-classes.txt",
    ],
    visibility: ["//visibility:private"],
}

// This and the next module contain the same classes with different implementations.
// "ravenwood-runtime-common-device" will be statically linked in device side tests.
// "ravenwood-runtime-common-ravenwood" will only exist in ravenwood-runtime, which will take
// precedence even if the test jar (accidentally) contains "ravenwood-runtime-common-device".
// "ravenwood-runtime-common" uses it to detect if the rutime is Ravenwood or not.
java_library {
    name: "ravenwood-runtime-common-ravenwood",
    host_supported: true,
    sdk_version: "core_current",
    srcs: [
        "runtime-common-ravenwood-src/**/*.java",
    ],
    visibility: [
        // Some tests need to access the utilities.
        ":__subpackages__",
    ],
}

java_library {
    name: "ravenwood-runtime-common-device",
    host_supported: true,
    sdk_version: "core_current",
    srcs: [
        "runtime-common-device-src/**/*.java",
    ],
    visibility: ["//visibility:private"],
}

java_library {
    name: "ravenwood-runtime-common",
    host_supported: true,
    sdk_version: "core_current",
    srcs: [
        "runtime-common-src/**/*.java",
    ],
    libs: [
        "ravenwood-runtime-common-ravenwood",
    ],
    static_libs: [
        "framework-annotations-lib", // should it be "libs" instead?
    ],
    visibility: ["//visibility:private"],
}

java_library_host {
    name: "ravenwood-helper-libcore-runtime.host",
    srcs: [
        "runtime-helper-src/libcore-fake/**/*.java",
    ],
    libs: [
        "app-compat-annotations",
    ],
    static_libs: [
        "ravenwood-runtime-common",
    ],
    visibility: ["//visibility:private"],
}

java_host_for_device {
    name: "ravenwood-helper-libcore-runtime",
    libs: [
        "ravenwood-helper-libcore-runtime.host",
    ],
    visibility: ["//visibility:private"],
}

java_library {
    name: "ravenwood-helper-framework-runtime",
    srcs: [
        "runtime-helper-src/framework/**/*.java",
        ":framework-graphics-srcs",
    ],
    static_libs: [
        "ravenwood-runtime-common",
        "androidx.annotation_annotation",
    ],
    libs: [
        "framework-minus-apex.ravenwood",
        "framework-configinfrastructure.ravenwood",
        "ravenwood-helper-libcore-runtime",
    ],
    sdk_version: "core_current",
    visibility: ["//visibility:private"],
}

// Combine ravenwood-helper-*-runtime and create a single library, which we include
// in the ravenwood runtime.
// We do it this way rather than including the individual jars in the runtime, because
// for some reason we couldn't include a java_host_for_device module in the ravenwood runtime.
java_library {
    name: "ravenwood-helper-runtime",
    defaults: ["ravenwood-internal-only-visibility-java"],
    static_libs: [
        "ravenwood-helper-framework-runtime",
        "ravenwood-helper-libcore-runtime",
    ],
}

java_library {
    name: "ravenwood-junit-impl",
    srcs: [
        "junit-src/**/*.java",
        "junit-impl-src/**/*.java",
    ],
    static_libs: [
        "androidx.test.monitor-for-device",
        "ravenwood-runtime-common",
    ],
    libs: [
        "android.test.mock.impl",
        "framework-minus-apex.ravenwood",
        "ravenwood-framework",
        "services.core.ravenwood",
        "junit",
        "framework-annotations-lib",
        "ravenwood-helper-framework-runtime",
        "ravenwood-helper-libcore-runtime",
        "hoststubgen-helper-runtime.ravenwood",
        "mockito-ravenwood-prebuilt",
    ],
    visibility: [":__subpackages__"],
    jarjar_rules: ":ravenwood-services-jarjar-rules",
}

java_device_for_host {
    name: "ravenwood-junit-for-ravenizer",
    libs: [
        "ravenwood-junit",
    ],
    visibility: [":__subpackages__"],
}

// Carefully compiles against only module_current to support tests that
// want to verify they're unbundled.  The "impl" library above is what
// ships inside the Ravenwood environment to actually drive any API
// access to implementation details.
// We can't use test_current here because this library needs to be statically
// linked to mainline tests as well, which can't use test APIs because they
// need to be able to run on multiple API levels.
java_library {
    name: "ravenwood-junit",
    srcs: [
        "junit-src/**/*.java",
        "junit-stub-src/**/*.java",
        "junit-flag-src/**/*.java",
    ],
    sdk_version: "module_current",
    static_libs: [
        "ravenwood-runtime-common",
        "ravenwood-runtime-common-device",
    ],
    libs: [
        "junit",
        "flag-junit",
        "framework-annotations-lib",
    ],
    visibility: ["//visibility:public"],
}

// Library used to publish a handful of `android.ravenwood` APIs into
// the Ravenwood BCP; we don't want to publish these APIs into the BCP
// on physical devices, which is why this is a separate library
java_library {
    name: "ravenwood-framework",
    srcs: [
        "framework-src/**/*.java",
    ],
    libs: [
        "framework-minus-apex.ravenwood",
    ],
    sdk_version: "core_current",
    visibility: ["//visibility:public"],
}

java_host_for_device {
    name: "androidx.test.monitor-for-device",
    libs: [
        "androidx.test.monitor-for-host",
    ],
}

java_device_for_host {
    name: "androidx.test.monitor-for-host",
    libs: [
        "androidx.test.monitor",
    ],
}

filegroup {
    name: "ravenwood-framework-jarjar-rules",
    srcs: ["texts/ravenwood-framework-jarjar-rules.txt"],
    visibility: ["//frameworks/base"],
}

filegroup {
    name: "ravenwood-services-jarjar-rules",
    srcs: ["texts/ravenwood-services-jarjar-rules.txt"],
    visibility: ["//frameworks/base"],
}

cc_defaults {
    name: "ravenwood_jni_defaults",
    cflags: [
        "-Wall",
        "-Werror",
        "-Wno-unused-parameter",
        "-Wthread-safety",
    ],
    static_libs: [
        "libnativehelper_jvm",
    ],
    shared_libs: [
        "liblog",
    ],
    visibility: ["//visibility:private"],
}

// We need this as a separate library because we need to overload the
// sysprop symbols before libbase is loaded into the process
cc_library_host_shared {
    name: "libravenwood_initializer",
    defaults: ["ravenwood_jni_defaults"],
    srcs: ["runtime-jni/ravenwood_initializer.cpp"],
}

cc_library_host_shared {
    name: "libravenwood_runtime",
    defaults: ["ravenwood_jni_defaults"],
    header_libs: ["libicuuc_headers"],
    srcs: [
        "runtime-jni/ravenwood_runtime.cpp",
        "runtime-jni/ravenwood_os_constants.cpp",
    ],
    shared_libs: [
        "libbase",
        "libutils",
        "libcutils",
    ],
}

// For collecting the *stats.csv files in a known directory under out/host/linux-x86/testcases/.
// The "test" just shows the available stats filenames.
sh_test_host {
    name: "ravenwood-stats-checker",
    src: "scripts/ravenwood-stats-checker.sh",
    test_suites: ["general-tests"],
    device_common_data: [
        ":framework-minus-apex.ravenwood-base_all{hoststubgen_framework-minus-apex_stats.csv}",
        ":framework-minus-apex.ravenwood-base_all{hoststubgen_framework-minus-apex_apis.csv}",
        ":framework-minus-apex.ravenwood-base_all{hoststubgen_framework-minus-apex_keep_all.txt}",
        ":framework-minus-apex.ravenwood-base_all{hoststubgen_framework-minus-apex_dump.txt}",
        ":services.core.ravenwood-base{hoststubgen_services.core_stats.csv}",
        ":services.core.ravenwood-base{hoststubgen_services.core_apis.csv}",
        ":services.core.ravenwood-base{hoststubgen_services.core_keep_all.txt}",
        ":services.core.ravenwood-base{hoststubgen_services.core_dump.txt}",

        ":framework-configinfrastructure.ravenwood-base{framework-configinfrastructure_stats.csv}",
        ":framework-configinfrastructure.ravenwood-base{framework-configinfrastructure_apis.csv}",
        ":framework-configinfrastructure.ravenwood-base{framework-configinfrastructure_keep_all.txt}",
        ":framework-configinfrastructure.ravenwood-base{framework-configinfrastructure_dump.txt}",

        ":framework-statsd.ravenwood-base{framework-statsd_stats.csv}",
        ":framework-statsd.ravenwood-base{framework-statsd_apis.csv}",
        ":framework-statsd.ravenwood-base{framework-statsd_keep_all.txt}",
        ":framework-statsd.ravenwood-base{framework-statsd_dump.txt}",
    ],
}

java_library {
    name: "services.fakes.ravenwood-jarjar",
    installable: false,
    srcs: [":services.fakes-sources"],
    libs: [
        "ravenwood-framework",
        "services.core.ravenwood",
    ],
    jarjar_rules: ":ravenwood-services-jarjar-rules",
    visibility: ["//visibility:private"],
}

java_library {
    name: "mockito-ravenwood-prebuilt",
    installable: false,
    static_libs: [
        "mockito-robolectric-prebuilt",
    ],
}

java_library {
    name: "inline-mockito-ravenwood-prebuilt",
    installable: false,
    static_libs: [
        "inline-mockito-robolectric-prebuilt",
    ],
}

// We define our own version of platform_compat_config's here, because:
// - The original version (e.g. "framework-platform-compat-config) is built from
//   the output file of the device side jar, rather than the host jar, meaning
//   they're slow to build because they depend on D8/R8 output.
// - The original services one ("services-platform-compat-config") is built from services.jar,
//   which includes service.permission, which is very slow to rebuild because of kotlin.
//
// Because we're re-defining the same compat-IDs that are defined elsewhere,
// they should all have `include_in_merged_xml: false`. Otherwise, generating
// merged_compat_config.xml would fail due to duplicate IDs.
//
// These module names must end with "compat-config" because these will be used as the filename,
// and at runtime, we only loads files that match `*compat-config.xml`.
platform_compat_config {
    name: "ravenwood-framework-platform-compat-config",
    src: ":framework-minus-apex-for-host",
    include_in_merged_xml: false,
    visibility: ["//visibility:private"],
}

platform_compat_config {
    name: "ravenwood-services.core-platform-compat-config",
    src: ":services.core-for-host",
    include_in_merged_xml: false,
    visibility: ["//visibility:private"],
}

java_library {
    name: "ext-ravenwood",
    installable: false,
    static_libs: ["ext"],
    visibility: ["//visibility:private"],
}

filegroup {
    name: "ravenwood-data",
    device_common_srcs: [
        ":system-build.prop",
        ":framework-res",
        ":ravenwood-empty-res",
        ":ravenwood-framework-platform-compat-config",
        ":ravenwood-services.core-platform-compat-config",
        "texts/ravenwood-build.prop",
    ],
    device_first_srcs: [
        ":apex_icu.dat",
    ],
    visibility: ["//visibility:private"],
}

// Keep in sync with build/make/target/product/generic/Android.bp
filegroup {
    name: "ravenwood-fonts",
    device_common_srcs: [
        ":AndroidClock.ttf",
        ":CarroisGothicSC-Regular.ttf",
        ":ComingSoon.ttf",
        ":CutiveMono.ttf",
        ":DancingScript-Regular.ttf",
        ":DroidSansMono.ttf",
        ":NotoColorEmoji.ttf",
        ":NotoColorEmojiFlags.ttf",
        ":NotoNaskhArabic-Bold.ttf",
        ":NotoNaskhArabic-Regular.ttf",
        ":NotoNaskhArabicUI-Bold.ttf",
        ":NotoNaskhArabicUI-Regular.ttf",
        ":NotoSansAdlam-VF.ttf",
        ":NotoSansAhom-Regular.otf",
        ":NotoSansAnatolianHieroglyphs-Regular.otf",
        ":NotoSansArmenian-VF.ttf",
        ":NotoSansAvestan-Regular.ttf",
        ":NotoSansBalinese-Regular.ttf",
        ":NotoSansBamum-Regular.ttf",
        ":NotoSansBassaVah-Regular.otf",
        ":NotoSansBatak-Regular.ttf",
        ":NotoSansBengali-VF.ttf",
        ":NotoSansBengaliUI-VF.ttf",
        ":NotoSansBhaiksuki-Regular.otf",
        ":NotoSansBrahmi-Regular.ttf",
        ":NotoSansBuginese-Regular.ttf",
        ":NotoSansBuhid-Regular.ttf",
        ":NotoSansCJK-Regular.ttc",
        ":NotoSansCanadianAboriginal-Regular.ttf",
        ":NotoSansCarian-Regular.ttf",
        ":NotoSansChakma-Regular.otf",
        ":NotoSansCham-Bold.ttf",
        ":NotoSansCham-Regular.ttf",
        ":NotoSansCherokee-Regular.ttf",
        ":NotoSansCoptic-Regular.ttf",
        ":NotoSansCuneiform-Regular.ttf",
        ":NotoSansCypriot-Regular.ttf",
        ":NotoSansDeseret-Regular.ttf",
        ":NotoSansDevanagari-VF.ttf",
        ":NotoSansDevanagariUI-VF.ttf",
        ":NotoSansEgyptianHieroglyphs-Regular.ttf",
        ":NotoSansElbasan-Regular.otf",
        ":NotoSansEthiopic-VF.ttf",
        ":NotoSansGeorgian-VF.ttf",
        ":NotoSansGlagolitic-Regular.ttf",
        ":NotoSansGothic-Regular.ttf",
        ":NotoSansGrantha-Regular.ttf",
        ":NotoSansGujarati-Bold.ttf",
        ":NotoSansGujarati-Regular.ttf",
        ":NotoSansGujaratiUI-Bold.ttf",
        ":NotoSansGujaratiUI-Regular.ttf",
        ":NotoSansGunjalaGondi-Regular.otf",
        ":NotoSansGurmukhi-VF.ttf",
        ":NotoSansGurmukhiUI-VF.ttf",
        ":NotoSansHanifiRohingya-Regular.otf",
        ":NotoSansHanunoo-Regular.ttf",
        ":NotoSansHatran-Regular.otf",
        ":NotoSansHebrew-Bold.ttf",
        ":NotoSansHebrew-Regular.ttf",
        ":NotoSansImperialAramaic-Regular.ttf",
        ":NotoSansInscriptionalPahlavi-Regular.ttf",
        ":NotoSansInscriptionalParthian-Regular.ttf",
        ":NotoSansJavanese-Regular.otf",
        ":NotoSansKaithi-Regular.ttf",
        ":NotoSansKannada-VF.ttf",
        ":NotoSansKannadaUI-VF.ttf",
        ":NotoSansKayahLi-Regular.ttf",
        ":NotoSansKharoshthi-Regular.ttf",
        ":NotoSansKhmer-VF.ttf",
        ":NotoSansKhmerUI-Bold.ttf",
        ":NotoSansKhmerUI-Regular.ttf",
        ":NotoSansKhojki-Regular.otf",
        ":NotoSansLao-Bold.ttf",
        ":NotoSansLao-Regular.ttf",
        ":NotoSansLaoUI-Bold.ttf",
        ":NotoSansLaoUI-Regular.ttf",
        ":NotoSansLepcha-Regular.ttf",
        ":NotoSansLimbu-Regular.ttf",
        ":NotoSansLinearA-Regular.otf",
        ":NotoSansLinearB-Regular.ttf",
        ":NotoSansLisu-Regular.ttf",
        ":NotoSansLycian-Regular.ttf",
        ":NotoSansLydian-Regular.ttf",
        ":NotoSansMalayalam-VF.ttf",
        ":NotoSansMalayalamUI-VF.ttf",
        ":NotoSansMandaic-Regular.ttf",
        ":NotoSansManichaean-Regular.otf",
        ":NotoSansMarchen-Regular.otf",
        ":NotoSansMasaramGondi-Regular.otf",
        ":NotoSansMedefaidrin-VF.ttf",
        ":NotoSansMeeteiMayek-Regular.ttf",
        ":NotoSansMeroitic-Regular.otf",
        ":NotoSansMiao-Regular.otf",
        ":NotoSansModi-Regular.ttf",
        ":NotoSansMongolian-Regular.ttf",
        ":NotoSansMro-Regular.otf",
        ":NotoSansMultani-Regular.otf",
        ":NotoSansMyanmar-Bold.otf",
        ":NotoSansMyanmar-Medium.otf",
        ":NotoSansMyanmar-Regular.otf",
        ":NotoSansMyanmarUI-Bold.otf",
        ":NotoSansMyanmarUI-Medium.otf",
        ":NotoSansMyanmarUI-Regular.otf",
        ":NotoSansNKo-Regular.ttf",
        ":NotoSansNabataean-Regular.otf",
        ":NotoSansNewTaiLue-Regular.ttf",
        ":NotoSansNewa-Regular.otf",
        ":NotoSansOgham-Regular.ttf",
        ":NotoSansOlChiki-Regular.ttf",
        ":NotoSansOldItalic-Regular.ttf",
        ":NotoSansOldNorthArabian-Regular.otf",
        ":NotoSansOldPermic-Regular.otf",
        ":NotoSansOldPersian-Regular.ttf",
        ":NotoSansOldSouthArabian-Regular.ttf",
        ":NotoSansOldTurkic-Regular.ttf",
        ":NotoSansOriya-Bold.ttf",
        ":NotoSansOriya-Regular.ttf",
        ":NotoSansOriyaUI-Bold.ttf",
        ":NotoSansOriyaUI-Regular.ttf",
        ":NotoSansOsage-Regular.ttf",
        ":NotoSansOsmanya-Regular.ttf",
        ":NotoSansPahawhHmong-Regular.otf",
        ":NotoSansPalmyrene-Regular.otf",
        ":NotoSansPauCinHau-Regular.otf",
        ":NotoSansPhagsPa-Regular.ttf",
        ":NotoSansPhoenician-Regular.ttf",
        ":NotoSansRejang-Regular.ttf",
        ":NotoSansRunic-Regular.ttf",
        ":NotoSansSamaritan-Regular.ttf",
        ":NotoSansSaurashtra-Regular.ttf",
        ":NotoSansSharada-Regular.otf",
        ":NotoSansShavian-Regular.ttf",
        ":NotoSansSinhala-VF.ttf",
        ":NotoSansSinhalaUI-VF.ttf",
        ":NotoSansSoraSompeng-Regular.otf",
        ":NotoSansSoyombo-VF.ttf",
        ":NotoSansSundanese-Regular.ttf",
        ":NotoSansSylotiNagri-Regular.ttf",
        ":NotoSansSymbols-Regular-Subsetted.ttf",
        ":NotoSansSymbols-Regular-Subsetted2.ttf",
        ":NotoSansSyriacEastern-Regular.ttf",
        ":NotoSansSyriacEstrangela-Regular.ttf",
        ":NotoSansSyriacWestern-Regular.ttf",
        ":NotoSansTagalog-Regular.ttf",
        ":NotoSansTagbanwa-Regular.ttf",
        ":NotoSansTaiLe-Regular.ttf",
        ":NotoSansTaiTham-Regular.ttf",
        ":NotoSansTaiViet-Regular.ttf",
        ":NotoSansTakri-VF.ttf",
        ":NotoSansTamil-VF.ttf",
        ":NotoSansTamilUI-VF.ttf",
        ":NotoSansTelugu-VF.ttf",
        ":NotoSansTeluguUI-VF.ttf",
        ":NotoSansThaana-Bold.ttf",
        ":NotoSansThaana-Regular.ttf",
        ":NotoSansThai-Bold.ttf",
        ":NotoSansThai-Regular.ttf",
        ":NotoSansThaiUI-Bold.ttf",
        ":NotoSansThaiUI-Regular.ttf",
        ":NotoSansTifinagh-Regular.otf",
        ":NotoSansUgaritic-Regular.ttf",
        ":NotoSansVai-Regular.ttf",
        ":NotoSansWancho-Regular.otf",
        ":NotoSansWarangCiti-Regular.otf",
        ":NotoSansYi-Regular.ttf",
        ":NotoSerif-Bold.ttf",
        ":NotoSerif-BoldItalic.ttf",
        ":NotoSerif-Italic.ttf",
        ":NotoSerif-Regular.ttf",
        ":NotoSerifArmenian-VF.ttf",
        ":NotoSerifBengali-VF.ttf",
        ":NotoSerifCJK-Regular.ttc",
        ":NotoSerifDevanagari-VF.ttf",
        ":NotoSerifDogra-Regular.ttf",
        ":NotoSerifEthiopic-VF.ttf",
        ":NotoSerifGeorgian-VF.ttf",
        ":NotoSerifGujarati-VF.ttf",
        ":NotoSerifGurmukhi-VF.ttf",
        ":NotoSerifHebrew-Bold.ttf",
        ":NotoSerifHebrew-Regular.ttf",
        ":NotoSerifHentaigana.ttf",
        ":NotoSerifKannada-VF.ttf",
        ":NotoSerifKhmer-Bold.otf",
        ":NotoSerifKhmer-Regular.otf",
        ":NotoSerifLao-Bold.ttf",
        ":NotoSerifLao-Regular.ttf",
        ":NotoSerifMalayalam-VF.ttf",
        ":NotoSerifMyanmar-Bold.otf",
        ":NotoSerifMyanmar-Regular.otf",
        ":NotoSerifNyiakengPuachueHmong-VF.ttf",
        ":NotoSerifSinhala-VF.ttf",
        ":NotoSerifTamil-VF.ttf",
        ":NotoSerifTelugu-VF.ttf",
        ":NotoSerifThai-Bold.ttf",
        ":NotoSerifThai-Regular.ttf",
        ":NotoSerifTibetan-VF.ttf",
        ":NotoSerifYezidi-VF.ttf",
        ":Roboto-Regular.ttf",
        ":RobotoFlex-Regular.ttf",
        ":RobotoStatic-Regular.ttf",
        ":SourceSansPro-Bold.ttf",
        ":SourceSansPro-BoldItalic.ttf",
        ":SourceSansPro-Italic.ttf",
        ":SourceSansPro-Regular.ttf",
        ":SourceSansPro-SemiBold.ttf",
        ":SourceSansPro-SemiBoldItalic.ttf",
    ],
    device_first_srcs: [
        ":font_fallback.xml",
        ":fonts.xml",
    ],
    visibility: ["//visibility:private"],
}

// JARs in "ravenwood-runtime" are set to the classpath, sorted alphabetically.
// Rename some of the dependencies to make sure they're included in the intended order.

java_library {
    name: "100-framework-minus-apex.ravenwood",
    installable: false,
    static_libs: ["framework-minus-apex.ravenwood"],
    visibility: ["//visibility:private"],
}

java_library {
    name: "200-kxml2-android",
    installable: false,
    static_libs: ["kxml2-android"],
    visibility: ["//visibility:private"],
}

java_library {
    name: "z00-all-updatable-modules-system-stubs",
    installable: false,
    static_libs: ["all-updatable-modules-system-stubs-for-host"],
    visibility: ["//visibility:private"],
}

android_ravenwood_libgroup {
    name: "ravenwood-runtime",
    data: [":ravenwood-data"],
    fonts: [":ravenwood-fonts"],
    libs: [
        "100-framework-minus-apex.ravenwood",
        "200-kxml2-android",
        "ext-ravenwood",

        "ravenwood-runtime-common-ravenwood",

        "android.test.mock.ravenwood",
        "ravenwood-helper-runtime",
        "hoststubgen-helper-runtime.ravenwood",

        // Note, when we include other services.* jars, we'll need to add
        // platform_compat_config for that module too.
        // See ravenwood-services.core-platform-compat-config above.
        "services.core.ravenwood-jarjar",
        "services.fakes.ravenwood-jarjar",

        // ICU
        "core-icu4j-for-host.ravenwood",
        "icu4j-icudata-jarjar",
        "icu4j-icutzdata-jarjar",

        // DeviceConfig
        "framework-configinfrastructure.ravenwood",

        // StatsD
        "framework-statsd.ravenwood",

        // Graphics
        "framework-graphics.ravenwood",

        // Provide runtime versions of utils linked in below
        "junit",
        "truth",
        "flag-junit",
        "ravenwood-framework",
        "ravenwood-junit-impl",
        "mockito-ravenwood-prebuilt",
        "inline-mockito-ravenwood-prebuilt",

        // It's a stub, so it should be towards the end.
        "z00-all-updatable-modules-system-stubs",
    ],
    jni_libs: [
        // Libraries has to be loaded in the following order
        "libravenwood_initializer",
        "libravenwood_runtime",
        "libandroid_runtime",
    ],
}

android_ravenwood_libgroup {
    name: "ravenwood-utils",
    libs: [
        "junit",
        "truth",
        "flag-junit",
        "ravenwood-framework",
        "ravenwood-junit",
        "mockito-ravenwood-prebuilt",
        "inline-mockito-ravenwood-prebuilt",
    ],
}

build = [
    "Framework.bp",
]
