• 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
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