• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
24// Enum protos can be reused in multiple libraries (pixelatoms.proto, etc)
25// Due to size grownth constraints proposed to reuse only what really imported
26shared_enum_protos = [
27    "enums/app_shared/*.proto",
28    "enums/display/*.proto",
29    "enums/hardware/biometrics/*.proto",
30]
31
32enum_protos = [
33    // go/keep-sorted start
34    ":connectivity_service_proto",
35    ":data_stall_event_proto",
36    ":device_policy_proto",
37    ":dns_resolver_proto",
38    ":launcher_proto",
39    ":network_stack_proto",
40    ":srcs_bluetooth_leaudio_protos",
41    ":srcs_bluetooth_protos",
42    ":style_proto",
43    ":tethering_proto",
44    ":text_classifier_proto",
45    "enums/accessibility/*.proto",
46    "enums/accounts/*.proto",
47    "enums/adservices/common/*.proto",
48    "enums/adservices/enrollment/*.proto",
49    "enums/adservices/fledge/*.proto",
50    "enums/adservices/measurement/*.proto",
51    "enums/anr/*.proto",
52    "enums/apex/*.proto",
53    "enums/app/**/*.proto",
54    "enums/appsearch/*.proto",
55    "enums/art/*.proto",
56    "enums/autofill/**/*.proto",
57    "enums/conscrypt/**/*.proto",
58    "enums/contexthub/*.proto",
59    "enums/coregraphics/*.proto",
60    "enums/corenetworking/**/*.proto",
61    "enums/debug/*.proto",
62    "enums/devicepolicy/*.proto",
63    "enums/dnd/*.proto",
64    "enums/federatedcompute/*.proto",
65    "enums/framework/compat/*.proto",
66    "enums/hardware/**/*.proto",
67    "enums/healthfitness/**/*.proto",
68    "enums/hotword/*.proto",
69    "enums/input/*.proto",
70    "enums/jank/*.proto",
71    "enums/media/**/*.proto",
72    "enums/memory/*.proto",
73    "enums/mms/*.proto",
74    "enums/nearby/*.proto",
75    "enums/net/*.proto",
76    "enums/neuralnetworks/*.proto",
77    "enums/nfc/*.proto",
78    "enums/notification/*.proto",
79    "enums/os/*.proto",
80    "enums/pdf/*.proto",
81    "enums/performance/*.proto",
82    "enums/photopicker/*.proto",
83    "enums/ranging/*.proto",
84    "enums/security/advancedprotection/*.proto",
85    "enums/server/*.proto",
86    "enums/server/display/*.proto",
87    "enums/server/job/*.proto",
88    "enums/server/location/*.proto",
89    "enums/service/*.proto",
90    "enums/stats/*.proto",
91    "enums/stats/accessibility/*.proto",
92    "enums/stats/docsui/*.proto",
93    "enums/stats/hdmi/*.proto",
94    "enums/stats/ike/*.proto",
95    "enums/stats/intelligence/*.proto",
96    "enums/stats/location/*.proto",
97    "enums/stats/mediametrics/*.proto",
98    "enums/stats/mediaprovider/*.proto",
99    "enums/stats/mobiledatadownload/*.proto",
100    "enums/stats/otaupdate/*.proto",
101    "enums/stats/privacysignals/*.proto",
102    "enums/stats/safetycenter/*.proto",
103    "enums/stats/storage/*.proto",
104    "enums/stats/sysui/*.proto",
105    "enums/stats/tls/*.proto",
106    "enums/stats/tv/*.proto",
107    "enums/stats/wm/*.proto",
108    "enums/system/**/*.proto",
109    "enums/telecomm/*.proto",
110    "enums/telephony/*.proto",
111    "enums/telephony/iwlan/*.proto",
112    "enums/telephony/qns/*.proto",
113    "enums/telephony/satellite/*.proto",
114    "enums/telephony/security/*.proto",
115    "enums/transparency/*.proto",
116    "enums/uwb/*.proto",
117    "enums/view/**/*.proto",
118    "enums/wear/connectivity/*.proto",
119    "enums/wear/media/*.proto",
120    "enums/wear/modes/*.proto",
121    "enums/wear/setupwizard/*.proto",
122    "enums/wear/time/*.proto",
123    "enums/wifi/*.proto",
124    // go/keep-sorted end
125]
126
127atom_protos = [
128    // go/keep-sorted start
129    "atoms.proto",
130    "atoms/accessibility/*.proto",
131    "atoms/accounts/*.proto",
132    "atoms/adaptiveauth/*.proto",
133    "atoms/adpf/*.proto",
134    "atoms/adservices/*.proto",
135    "atoms/agif/*.proto",
136    "atoms/aiwallpapers/*.proto",
137    "atoms/apex/*.proto",
138    "atoms/appfunctions/*.proto",
139    "atoms/appsearch/*.proto",
140    "atoms/art/*.proto",
141    "atoms/autofill/*.proto",
142    "atoms/automotive/carlauncher/*.proto",
143    "atoms/automotive/carpower/*.proto",
144    "atoms/automotive/carqclib/*.proto",
145    "atoms/automotive/carsettings/*.proto",
146    "atoms/automotive/carsystemui/*.proto",
147    "atoms/automotive/caruilib/*.proto",
148    "atoms/automotive/sensitiveapplock/*.proto",
149    "atoms/backported_fixes/*.proto",
150    "atoms/bluetooth/*.proto",
151    "atoms/broadcasts/*.proto",
152    "atoms/camera/*.proto",
153    "atoms/conscrypt/**/*.proto",
154    "atoms/coregraphics/*.proto",
155    "atoms/corenetworking/**/*.proto",
156    "atoms/cpu/*.proto",
157    "atoms/credentials/*.proto",
158    "atoms/cronet/*.proto",
159    "atoms/desktopmode/*.proto",
160    "atoms/devicelock/*.proto",
161    "atoms/devicelogs/*.proto",
162    "atoms/devicepolicy/*.proto",
163    "atoms/display/*.proto",
164    "atoms/dnd/*.proto",
165    "atoms/dream/*.proto",
166    "atoms/expresslog/*.proto",
167    "atoms/federatedcompute/*.proto",
168    "atoms/framework/*.proto",
169    "atoms/gps/*.proto",
170    "atoms/grammaticalinflection/*.proto",
171    "atoms/hardware/biometrics/*.proto",
172    "atoms/hardware/health/*.proto",
173    "atoms/hdmi/*.proto",
174    "atoms/healthfitness/**/*.proto",
175    "atoms/hotword/*.proto",
176    "atoms/ike/*.proto",
177    "atoms/input/*.proto",
178    "atoms/kernel/*.proto",
179    "atoms/locale/*.proto",
180    "atoms/location/*.proto",
181    "atoms/media/*.proto",
182    "atoms/memory/*.proto",
183    "atoms/memorysafety/*.proto",
184    "atoms/microxr/*.proto",
185    "atoms/nfc/*.proto",
186    "atoms/notification/*.proto",
187    "atoms/ondevicepersonalization/*.proto",
188    "atoms/packagemanager/*.proto",
189    "atoms/pdf/*.proto",
190    "atoms/performance/*.proto",
191    "atoms/permissioncontroller/*.proto",
192    "atoms/photopicker/*.proto",
193    "atoms/placeholder/*.proto",
194    "atoms/power/*.proto",
195    "atoms/providers/mediaprovider/*.proto",
196    "atoms/ranging/*.proto",
197    "atoms/rkpd/*.proto",
198    "atoms/sdksandbox/*.proto",
199    "atoms/selinux/*.proto",
200    "atoms/settings/*.proto",
201    "atoms/statsd/*.proto",
202    "atoms/sysui/*.proto",
203    "atoms/telecomm/*.proto",
204    "atoms/telephony/*.proto",
205    "atoms/telephony/iwlan/*.proto",
206    "atoms/telephony/qns/*.proto",
207    "atoms/telephony/satellite/*.proto",
208    "atoms/telephony/security/*.proto",
209    "atoms/threadnetwork/*.proto",
210    "atoms/transparency/*.proto",
211    "atoms/tv/*.proto",
212    "atoms/uprobestats/*.proto",
213    "atoms/usb/*.proto",
214    "atoms/uwb/*.proto",
215    "atoms/view/inputmethod/*.proto",
216    "atoms/wear/connectivity/*.proto",
217    "atoms/wear/media/*.proto",
218    "atoms/wear/modes/*.proto",
219    "atoms/wear/prototiles/*.proto",
220    "atoms/wear/setupwizard/*.proto",
221    "atoms/wear/time/*.proto",
222    "atoms/wearpas/*.proto",
223    "atoms/wearservices/*.proto",
224    "atoms/wearsysui/*.proto",
225    "atoms/wifi/*.proto",
226    "atoms/xr/recorder/*.proto",
227    "attribution_node.proto",
228    // go/keep-sorted end
229]
230
231cc_library_host_shared {
232    name: "libstats_proto_host",
233    srcs: [
234        "atom_field_options.proto",
235        ":libstats_atom_message_protos",
236    ] + shared_enum_protos + enum_protos + atom_protos,
237
238    cflags: [
239        "-Wno-deprecated-declarations",
240    ],
241
242    proto: {
243        type: "full",
244        export_proto_headers: true,
245        include_dirs: [
246            "external/protobuf/src",
247        ],
248    },
249}
250
251filegroup {
252    name: "libstats_atoms_proto",
253    srcs: atom_protos,
254}
255
256filegroup {
257    name: "libstats_internal_protos",
258    srcs: [
259        ":libstats_atoms_proto",
260        "atom_field_options.proto",
261        ":libstats_atom_enum_protos",
262        ":libstats_atom_message_protos",
263    ],
264}
265
266filegroup {
267    name: "libstats_atom_options_protos",
268    srcs: [
269        "atom_field_options.proto",
270    ],
271}
272
273filegroup {
274    name: "libstats_shared_enum_protos",
275    srcs: shared_enum_protos,
276}
277
278filegroup {
279    name: "libstats_atom_enum_protos",
280    srcs: shared_enum_protos + enum_protos,
281}
282
283filegroup {
284    name: "libstats_atom_message_protos",
285    srcs: [
286        "message/*.proto",
287    ],
288}
289