1// 2// Copyright (C) 2020 The Android Open Source Project 3// 4// Licensed under the Apache License, Version 2.0 (the "License"); 5// you may not use this file except in compliance with the License. 6// You may obtain a copy of the License at 7// 8// http://www.apache.org/licenses/LICENSE-2.0 9// 10// Unless required by applicable law or agreed to in writing, software 11// distributed under the License is distributed on an "AS IS" BASIS, 12// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13// See the License for the specific language governing permissions and 14// limitations under the License. 15// 16 17// ========================================================== 18// Build the library for use on the host 19// ========================================================== 20package { 21 default_applicable_licenses: ["Android-Apache-2.0"], 22} 23 24enum_protos = [ 25 "enums/adservices/common/*.proto", 26 "enums/adservices/fledge/*.proto", 27 "enums/anr/*.proto", 28 "enums/adservices/measurement/*.proto", 29 "enums/app/**/*.proto", 30 "enums/autofill/**/*.proto", 31 "enums/contexthub/*.proto", 32 "enums/corenetworking/**/*.proto", 33 "enums/debug/*.proto", 34 "enums/display/*.proto", 35 "enums/dnd/*.proto", 36 "enums/hardware/**/*.proto", 37 "enums/healthfitness/**/*.proto", 38 "enums/hotword/*.proto", 39 "enums/input/*.proto", 40 "enums/jank/*.proto", 41 "enums/media/**/*.proto", 42 "enums/mms/*.proto", 43 "enums/nearby/*.proto", 44 "enums/net/*.proto", 45 "enums/neuralnetworks/*.proto", 46 "enums/nfc/*.proto", 47 "enums/os/*.proto", 48 "enums/server/*.proto", 49 "enums/server/display/*.proto", 50 "enums/server/job/*.proto", 51 "enums/server/location/*.proto", 52 "enums/service/*.proto", 53 "enums/stats/*.proto", 54 "enums/stats/accessibility/*.proto", 55 "enums/stats/docsui/*.proto", 56 "enums/stats/hdmi/*.proto", 57 "enums/stats/intelligence/*.proto", 58 "enums/stats/location/*.proto", 59 "enums/stats/mediametrics/*.proto", 60 "enums/stats/mediaprovider/*.proto", 61 "enums/stats/mobiledatadownload/*.proto", 62 "enums/stats/otaupdate/*.proto", 63 "enums/stats/privacysignals/*.proto", 64 "enums/stats/safetycenter/*.proto", 65 "enums/stats/storage/*.proto", 66 "enums/stats/sysui/*.proto", 67 "enums/stats/tls/*.proto", 68 "enums/stats/tv/*.proto", 69 "enums/stats/wm/*.proto", 70 "enums/system/**/*.proto", 71 "enums/telecomm/*.proto", 72 "enums/telephony/*.proto", 73 "enums/telephony/qns/*.proto", 74 "enums/telephony/satellite/*.proto", 75 "enums/uwb/*.proto", 76 "enums/view/**/*.proto", 77 "enums/wear/media/*.proto", 78 "enums/wifi/*.proto", 79 ":data_stall_event_proto", 80 ":device_policy_proto", 81 ":dns_resolver_proto", 82 ":launcher_proto", 83 ":network_stack_proto", 84 ":connectivity_service_proto", 85 ":srcs_bluetooth_protos", 86 ":srcs_bluetooth_leaudio_protos", 87 ":style_proto", 88 ":tethering_proto", 89 ":text_classifier_proto", 90] 91 92atom_protos = [ 93 "atoms.proto", 94 "attribution_node.proto", 95 "atoms/adpf/*.proto", 96 "atoms/agif/*.proto", 97 "atoms/aiwallpapers/*.proto", 98 "atoms/art/*.proto", 99 "atoms/bluetooth/*.proto", 100 "atoms/corenetworking/**/*.proto", 101 "atoms/autofill/*.proto", 102 "atoms/credentials/*.proto", 103 "atoms/display/*.proto", 104 "atoms/dnd/*.proto", 105 "atoms/dream/*.proto", 106 "atoms/expresslog/*.proto", 107 "atoms/framework/*.proto", 108 "atoms/gps/*.proto", 109 "atoms/grammaticalinflection/*.proto", 110 "atoms/hardware/biometrics/*.proto", 111 "atoms/healthfitness/**/*.proto", 112 "atoms/hotword/*.proto", 113 "atoms/input/*.proto", 114 "atoms/locale/*.proto", 115 "atoms/wearsysui/*.proto", 116 "atoms/location/*.proto", 117 "atoms/view/inputmethod/*.proto", 118 "atoms/permissioncontroller/*.proto", 119 "atoms/placeholder/*.proto", 120 "atoms/rkpd/*.proto", 121 "atoms/settings/*.proto", 122 "atoms/sysui/*.proto", 123 "atoms/tv/*.proto", 124 "atoms/usb/*.proto", 125 "atoms/providers/mediaprovider/*.proto", 126 "atoms/devicelogs/*.proto", 127 "atoms/kernel/*.proto", 128 "atoms/wearservices/*.proto", 129 "atoms/wear/media/*.proto", 130 "atoms/media/*.proto", 131 "atoms/adservices/*.proto", 132 "atoms/wearpas/*.proto", 133 "atoms/statsd/*.proto", 134 "atoms/telecomm/*.proto", 135 "atoms/telephony/qns/*.proto", 136 "atoms/telephony/*.proto", 137 "atoms/memorysafety/*.proto", 138 "atoms/wifi/*.proto", 139 "atoms/telephony/satellite/*.proto", 140 "atoms/automotive/caruilib/*.proto", 141 "atoms/uwb/*.proto", 142] 143 144cc_library_host_shared { 145 name: "libstats_proto_host", 146 srcs: [ 147 "atom_field_options.proto", 148 ":libstats_atom_message_protos", 149 ] + enum_protos + atom_protos, 150 151 cflags: [ 152 "-Wno-deprecated-declarations", 153 ], 154 155 proto: { 156 type: "full", 157 export_proto_headers: true, 158 include_dirs: [ 159 "external/protobuf/src", 160 ], 161 }, 162} 163 164filegroup { 165 name: "libstats_atoms_proto", 166 srcs: atom_protos, 167} 168 169filegroup { 170 name: "libstats_internal_protos", 171 srcs: [ 172 ":libstats_atoms_proto", 173 "atom_field_options.proto", 174 ":libstats_atom_enum_protos", 175 ":libstats_atom_message_protos", 176 ], 177} 178 179filegroup { 180 name: "libstats_atom_options_protos", 181 srcs: [ 182 "atom_field_options.proto", 183 ], 184} 185 186filegroup { 187 name: "libstats_atom_enum_protos", 188 srcs: enum_protos, 189} 190 191filegroup { 192 name: "libstats_atom_message_protos", 193 srcs: [ 194 "message/*.proto", 195 ], 196} 197