1// Copyright (C) 2024 The Android Open Source Project 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15filegroup { 16 name: "aconfigd_protos", 17 srcs: ["aconfigd.proto"], 18} 19 20rust_protobuf { 21 name: "libaconfigd_rust_proto", 22 crate_name: "aconfigd_rust_proto", 23 source_stem: "aconfigd_rust_proto_source", 24 protos: [ 25 "aconfigd.proto", 26 ], 27 host_supported: true, 28 min_sdk_version: "34", 29 apex_available: [ 30 "//apex_available:anyapex", 31 "//apex_available:platform", 32 ], 33} 34 35rust_defaults { 36 name: "aconfigd_protos.defaults", 37 edition: "2021", 38 clippy_lints: "android", 39 lints: "android", 40 srcs: ["src/lib.rs"], 41 rustlibs: [ 42 "libaconfigd_rust_proto", 43 "libanyhow", 44 "libprotobuf", 45 ], 46 proc_macros: [ 47 "libpaste", 48 ], 49 min_sdk_version: "34", 50} 51 52rust_library { 53 name: "libaconfigd_protos_rust", 54 crate_name: "aconfigd_protos", 55 defaults: ["aconfigd_protos.defaults"], 56 host_supported: true, 57 apex_available: [ 58 "//apex_available:anyapex", 59 "//apex_available:platform", 60 ], 61} 62 63cc_library_static { 64 name: "libaconfigd_protos_cc", 65 proto: { 66 export_proto_headers: true, 67 type: "lite", 68 }, 69 srcs: ["aconfigd.proto"], 70 min_sdk_version: "34", 71 visibility: [ 72 "//system/server_configurable_flags/aconfigd", 73 ], 74 apex_available: [ 75 "//apex_available:anyapex", 76 "//apex_available:platform", 77 ], 78} 79 80java_library { 81 name: "aconfigd_java_proto_lib", 82 host_supported: true, 83 srcs: ["aconfigd.proto"], 84 proto: { 85 type: "stream", 86 }, 87 sdk_version: "current", 88 min_sdk_version: "UpsideDownCake", 89 apex_available: [ 90 "//apex_available:anyapex", 91 "//apex_available:platform", 92 ], 93} 94 95java_library { 96 name: "aconfigd_java_proto_lite_lib", 97 host_supported: true, 98 srcs: ["aconfigd.proto"], 99 proto: { 100 type: "lite", 101 }, 102 sdk_version: "core_current", 103 min_sdk_version: "UpsideDownCake", 104 apex_available: [ 105 "//apex_available:anyapex", 106 "//apex_available:platform", 107 ], 108} 109