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