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__"],
}

// Separated out from ravenwood-junit-impl since it needs to compile
// against `module_current`
java_library {
    name: "ravenwood-junit-impl-flag",
    srcs: [
        "junit-flag-src/**/*.java",
    ],
    sdk_version: "module_current",
    libs: [
        "junit",
        "flag-junit",
    ],
    visibility: ["//visibility:public"],
}

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

filegroup {
    name: "ravenwood-data",
    device_common_srcs: [
        ":system-build.prop",
        ":framework-res",
        ":ravenwood-empty-res",
        ":framework-platform-compat-config",
        ":services-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",
        "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",
        "ravenwood-junit-impl-flag",
        "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",
]
