• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1package {
2    default_applicable_licenses: ["Android-Apache-2.0"],
3}
4
5rust_defaults {
6    name: "libuwb_uci_jni_rust_defaults",
7    crate_name: "uwb_uci_jni_rust",
8    lints: "android",
9    clippy_lints: "android",
10    min_sdk_version: "Tiramisu",
11    srcs: ["src/lib.rs"],
12    rustlibs: [
13        "libbinder_rs",
14        "libjni",
15        "liblazy_static",
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    host_supported: true,
28}
29
30rust_ffi_shared {
31    name: "libuwb_uci_jni_rust",
32    defaults: ["libuwb_uci_jni_rust_defaults"],
33    rustlibs: [
34        "libuci_hal_android",
35        "libuwb_core",
36    ],
37    sanitize: {
38        hwaddress: false,
39    },
40}
41
42rust_test {
43    name: "libuwb_uci_jni_rust_tests",
44    defaults: ["libuwb_uci_jni_rust_defaults"],
45    rustlibs: [
46        "libuci_hal_android_with_mock",
47        "libuwb_core_with_mock",
48    ],
49    target: {
50        android: {
51            test_suites: [
52                "general-tests",
53                "mts-uwb"
54            ],
55            test_config_template: "uwb_rust_test_config_template.xml",
56        },
57        host: {
58            test_suites: [
59                "general-tests",
60            ],
61            data_libs: [
62                "libandroid_runtime_lazy",
63                "libbase",
64                "libbinder",
65                "libbinder_ndk",
66                "libcutils",
67                "liblog",
68                "libutils",
69            ],
70        },
71    },
72    test_options: {
73        unit_test: true,
74    },
75    // Support multilib variants (using different suffix per sub-architecture), which is needed on
76    // build targets with secondary architectures, as the MTS test suite packaging logic flattens
77    // all test artifacts into a single `testcases` directory.
78    compile_multilib: "both",
79    multilib: {
80        lib32: {
81            suffix: "32",
82        },
83        lib64: {
84            suffix: "64",
85        },
86    },
87    auto_gen_config: true,
88}
89