1package {
2    default_applicable_licenses: ["Android-Apache-2.0"],
3}
4
5// proto libraries for consumers of `aconfig dump --format=protobuf` output
6
7java_library {
8    name: "libaconfig_java_proto_lite",
9    host_supported: true,
10    srcs: ["protos/aconfig.proto"],
11    static_libs: ["libprotobuf-java-lite"],
12    proto: {
13        type: "lite",
14    },
15    sdk_version: "current",
16    min_sdk_version: "UpsideDownCake",
17    apex_available: [
18        "com.android.configinfrastructure",
19        "//apex_available:platform",
20    ],
21}
22
23java_library {
24    name: "libaconfig_java_proto_nano",
25    srcs: ["protos/aconfig.proto"],
26    static_libs: ["libprotobuf-java-nano"],
27    proto: {
28        type: "nano",
29    },
30    sdk_version: "current",
31    min_sdk_version: "UpsideDownCake",
32    apex_available: [
33        "//apex_available:platform",
34    ],
35    jarjar_rules: "jarjar-nano-rules.txt",
36}
37
38java_library_host {
39    name: "libaconfig_java_proto_full",
40    srcs: ["protos/aconfig.proto"],
41    static_libs: ["libprotobuf-java-full"],
42    proto: {
43        type: "full",
44    },
45}
46
47python_library_host {
48    name: "libaconfig_python_proto",
49    srcs: ["protos/aconfig.proto"],
50    proto: {
51        canonical_path_from_root: false,
52    },
53}
54
55rust_protobuf {
56    name: "libaconfig_rust_proto",
57    protos: ["protos/aconfig.proto"],
58    crate_name: "aconfig_rust_proto",
59    source_stem: "aconfig_rust_proto",
60    host_supported: true,
61}
62
63rust_defaults {
64    name: "aconfig_protos.defaults",
65    edition: "2021",
66    clippy_lints: "android",
67    lints: "android",
68    srcs: ["src/lib.rs"],
69    rustlibs: [
70        "libaconfig_rust_proto",
71        "libanyhow",
72        "libprotobuf",
73    ],
74    proc_macros: [
75        "libpaste",
76    ],
77}
78
79rust_library {
80    name: "libaconfig_protos",
81    crate_name: "aconfig_protos",
82    host_supported: true,
83    defaults: ["aconfig_protos.defaults"],
84}
85
86rust_test_host {
87    name: "aconfig_protos.test",
88    test_suites: ["general-tests"],
89    defaults: ["aconfig_protos.defaults"],
90}
91