1package {
2    default_team: "trendy_team_fwk_uwb",
3    default_applicable_licenses: ["Android-Apache-2.0"],
4}
5
6rust_defaults {
7    name: "libuwb_uci_jni_rust_defaults",
8    crate_name: "uwb_uci_jni_rust",
9    lints: "android",
10    clippy_lints: "android",
11    min_sdk_version: "Tiramisu",
12    srcs: ["src/lib.rs"],
13    rustlibs: [
14        "libbinder_rs",
15        "libjni_legacy",
16        "liblog_rust",
17        "liblogger",
18        "libnum_traits",
19        "libthiserror",
20        "libtokio",
21        "libuwb_uci_packets",
22    ],
23    prefer_rlib: true,
24    apex_available: [
25        "com.android.uwb",
26    ],
27}
28
29rust_ffi_shared {
30    name: "libuwb_uci_jni_rust",
31    defaults: ["libuwb_uci_jni_rust_defaults"],
32    rustlibs: [
33        "libuci_hal_android",
34        "libuwb_core",
35    ],
36}
37
38rust_test {
39    name: "libuwb_uci_jni_rust_tests",
40    defaults: ["libuwb_uci_jni_rust_defaults"],
41    rustlibs: [
42        "libuci_hal_android_with_mock",
43        "libuwb_core_with_mock",
44    ],
45    target: {
46        android: {
47            test_suites: [
48                "general-tests",
49                "mts-uwb",
50            ],
51            test_config_template: "uwb_rust_test_config_template.xml",
52        },
53    },
54    test_options: {
55        unit_test: true,
56    },
57    // Support multilib variants (using different suffix per sub-architecture), which is needed on
58    // build targets with secondary architectures, as the MTS test suite packaging logic flattens
59    // all test artifacts into a single `testcases` directory.
60    compile_multilib: "both",
61    multilib: {
62        lib32: {
63            suffix: "32",
64        },
65        lib64: {
66            suffix: "64",
67        },
68    },
69    auto_gen_config: true,
70    native_coverage: false,
71}
72