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",
17        "libmmd_flags_rust",
18        "libmockall",
19        "librustutils",
20        "mmd_aidl_interface-rust",
21    ],
22}
23
24rust_defaults {
25    name: "libmmd_defaults",
26    srcs: [
27        "src/lib.rs",
28    ],
29    rustlibs: [
30        "liblibc",
31        "libmockall",
32        "libnix",
33        "libthiserror",
34    ],
35}
36
37rust_binary {
38    name: "mm_daemon",
39    defaults: ["mmd_defaults"],
40    stem: "mmd",
41    init_rc: ["mmd.rc"],
42}
43
44rust_library {
45    name: "libmmd",
46    crate_name: "mmd",
47    defaults: ["libmmd_defaults"],
48    host_supported: true,
49}
50
51rust_test {
52    name: "mmd_unit_tests",
53    defaults: ["mmd_defaults"],
54    test_suites: ["general-tests"],
55    auto_gen_config: true,
56}
57
58rust_test_host {
59    name: "libmmd_unit_tests",
60    defaults: ["libmmd_defaults"],
61    test_suites: ["general-tests"],
62}
63
64aconfig_declarations {
65    name: "mmd_flags",
66    package: "android.mmd.flags",
67    container: "system",
68    srcs: ["flags.aconfig"],
69}
70
71rust_aconfig_library {
72    name: "libmmd_flags_rust",
73    crate_name: "mmd_flags",
74    aconfig_declarations: "mmd_flags",
75}
76
77java_aconfig_library {
78    name: "mmd_flags_lib",
79    aconfig_declarations: "mmd_flags",
80}
81
82aidl_interface {
83    name: "mmd_aidl_interface",
84    unstable: true,
85    srcs: [":mmd_aidl"],
86    local_include_dir: "aidl",
87    backend: {
88        rust: {
89            enabled: true,
90        },
91    },
92}
93
94filegroup {
95    name: "mmd_aidl",
96    srcs: [
97        "aidl/android/os/IMmd.aidl",
98    ],
99    path: "aidl",
100}
101