1package { 2 default_applicable_licenses: ["Android-Apache-2.0"], 3} 4 5rust_defaults { 6 name: "mmd_defaults", 7 srcs: [ 8 "src/main.rs", 9 ], 10 rustlibs: [ 11 "libanyhow", 12 "libbinder_rs", 13 "libflags_rust", 14 "liblogger", 15 "liblog_rust", 16 "libmmd_flags_rust", 17 "libmmdproperties_rust", 18 "libnix", 19 "librustutils", 20 "libstatslog_rust", 21 "libstatslog_rust_header", 22 "libstatspull_rust", 23 "libthiserror", 24 "mmd_aidl_interface-rust", 25 ], 26} 27 28rust_defaults { 29 name: "libmmd_defaults", 30 srcs: [ 31 "src/lib.rs", 32 ], 33 rustlibs: [ 34 "libanyhow", 35 "libscopeguard", 36 "libdm_rust", 37 "liblibc", 38 "libnix", 39 "libthiserror", 40 ], 41} 42 43rust_binary { 44 name: "mm_daemon", 45 defaults: ["mmd_defaults"], 46 stem: "mmd", 47 init_rc: ["mmd.rc"], 48 rustlibs: [ 49 "libmmd", 50 ], 51} 52 53rust_library { 54 name: "libmmd", 55 crate_name: "mmd", 56 defaults: ["libmmd_defaults"], 57 host_supported: true, 58} 59 60rust_library { 61 name: "libmmd_test_utils", 62 crate_name: "mmd", 63 features: [ 64 "test_utils", 65 ], 66 defaults: ["libmmd_defaults"], 67 host_supported: true, 68 rustlibs: [ 69 "libmockall", 70 ], 71} 72 73rust_test { 74 name: "mmd_unit_tests", 75 defaults: ["mmd_defaults"], 76 test_suites: ["general-tests"], 77 auto_gen_config: true, 78 rustlibs: [ 79 "libmockall", 80 "libmmd_test_utils", 81 ], 82} 83 84rust_test_host { 85 name: "libmmd_unit_tests", 86 defaults: ["libmmd_defaults"], 87 test_suites: ["general-tests"], 88 rustlibs: [ 89 "libtempfile", 90 "libmockall", 91 ], 92} 93 94aconfig_declarations { 95 name: "mmd_flags", 96 package: "android.mmd.flags", 97 container: "system", 98 srcs: ["flags.aconfig"], 99} 100 101rust_aconfig_library { 102 name: "libmmd_flags_rust", 103 crate_name: "mmd_flags", 104 aconfig_declarations: "mmd_flags", 105} 106 107java_aconfig_library { 108 name: "mmd_flags_lib", 109 aconfig_declarations: "mmd_flags", 110} 111 112cc_aconfig_library { 113 name: "mmd_flags_c_lib", 114 aconfig_declarations: "mmd_flags", 115} 116 117aidl_interface { 118 name: "mmd_aidl_interface", 119 unstable: true, 120 srcs: [":mmd_aidl"], 121 local_include_dir: "aidl", 122 backend: { 123 rust: { 124 enabled: true, 125 }, 126 }, 127} 128 129filegroup { 130 name: "mmd_aidl", 131 srcs: [ 132 "aidl/android/os/IMmd.aidl", 133 ], 134 path: "aidl", 135} 136 137sysprop_library { 138 name: "MmdProperties", 139 srcs: ["MmdProperties.sysprop"], 140 property_owner: "Platform", 141 vendor_available: true, 142 ramdisk_available: true, 143 vendor_ramdisk_available: true, 144 recovery_available: true, 145 api_packages: ["android.sysprop"], 146} 147