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",
    ],
    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-impl-for-ravenizer",
    libs: [
        "ravenwood-junit-impl",
    ],
    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"],
    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"],
}

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",

        "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",

        // 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",
]
