xref: /aosp_15_r20/system/logging/rust/Android.bp (revision 598139dc91b21518d67c408eaea2644226490971)
1package {
2    default_applicable_licenses: ["Android-Apache-2.0"],
3}
4
5rust_library {
6    name: "liblogger",
7    host_supported: true,
8    crate_name: "logger",
9    srcs: ["logger.rs"],
10    rustlibs: [
11        "libenv_logger",
12        "liblog_rust",
13    ],
14    vendor_available: true,
15    product_available: true,
16    target: {
17        android: {
18            rustlibs: [
19                "libandroid_logger",
20            ],
21        },
22    },
23    apex_available: [
24        "//apex_available:anyapex",
25        "//apex_available:platform",
26        "//apex_available:anyapex",
27    ],
28    min_sdk_version: "29",
29}
30
31rust_library {
32    name: "liblog_event_list",
33    crate_name: "log_event_list",
34    srcs: ["liblog_event_list.rs"],
35    rustlibs: ["liblog_event_list_bindgen"],
36    shared_libs: ["liblog"],
37    vendor_available: true,
38    product_available: true,
39}
40
41rust_defaults {
42    name: "liblogger_test_defaults",
43    crate_name: "logger",
44    test_suites: ["general-tests"],
45    auto_gen_config: true,
46    rustlibs: [
47        "liblogger",
48        "liblog_rust",
49    ],
50}
51
52rust_library {
53    name: "libstructured_log",
54    crate_name: "structured_log",
55    srcs: [
56        "structured_logger.rs",
57    ],
58    rustlibs: [
59        "liblog_event_list",
60        "liblog_event_list_bindgen",
61    ],
62
63    vendor_available: true,
64    product_available: true,
65    apex_available: [
66        "//apex_available:platform",
67        "//apex_available:anyapex",
68    ],
69}
70
71rust_defaults {
72    name: "structured_log_rust_defaults",
73    rustlibs: [
74        "libstructured_log",
75        "liblog_event_list",
76    ],
77}
78
79rust_test {
80    name: "logger_device_unit_tests",
81    defaults: ["liblogger_test_defaults"],
82    srcs: ["logger.rs"],
83    rustlibs: [
84        "libenv_logger",
85        "libandroid_logger",
86    ],
87}
88
89rust_test_host {
90    name: "logger_host_unit_tests",
91    defaults: ["liblogger_test_defaults"],
92    srcs: ["logger.rs"],
93    rustlibs: ["libenv_logger"],
94}
95
96// The following tests are each run as separate targets because they all require a clean init state.
97rust_test {
98    name: "logger_test_default_init",
99    defaults: ["liblogger_test_defaults"],
100    host_supported: true,
101    srcs: ["tests/default_init.rs"],
102}
103
104rust_test {
105    name: "logger_test_env_log_level",
106    defaults: ["liblogger_test_defaults"],
107    host_supported: true,
108    srcs: ["tests/env_log_level.rs"],
109}
110
111rust_test {
112    name: "logger_test_config_log_level",
113    defaults: ["liblogger_test_defaults"],
114    host_supported: true,
115    srcs: ["tests/config_log_level.rs"],
116}
117
118rust_test {
119    name: "logger_test_multiple_init",
120    defaults: ["liblogger_test_defaults"],
121    host_supported: true,
122    srcs: ["tests/multiple_init.rs"],
123}
124
125rust_test {
126    name: "structured_logging_tests",
127    srcs: [
128        "tests/structured_logging_tests.rs",
129    ],
130    test_suites: [
131        "general-tests",
132    ],
133    defaults: [
134        "structured_log_rust_defaults",
135    ],
136}
137