1package(default_visibility = ["//visibility:public"])
2
3exports_files(glob(["nugget/app/**/*.options"]))
4
5
6################################################################################
7# proto cc libraries
8################################################################################
9
10cc_proto_library(
11    name = "nugget_app_keymaster_keymaster_cc_proto",
12    visibility = ["//visibility:public"],
13    deps = [
14        "nugget_app_keymaster_keymaster_proto",
15    ],
16)
17
18cc_proto_library(
19    name = "nugget_app_protoapi_control_cc_proto",
20    visibility = ["//visibility:public"],
21    deps = [
22        "nugget_app_protoapi_control_proto",
23    ],
24)
25
26cc_proto_library(
27    name = "nugget_app_protoapi_diagnostics_api_cc_proto",
28    visibility = ["//visibility:public"],
29    deps = [
30        "nugget_app_protoapi_diagnostics_api_proto",
31    ],
32)
33
34cc_proto_library(
35    name = "nugget_app_protoapi_testing_api_cc_proto",
36    visibility = ["//visibility:public"],
37    deps = [
38        "nugget_app_protoapi_testing_api_proto",
39    ],
40)
41
42cc_proto_library(
43    name = "nugget_app_weaver_weaver_cc_proto",
44    visibility = ["//visibility:public"],
45    deps = [
46        "nugget_app_weaver_weaver_proto",
47    ],
48)
49
50cc_proto_library(
51    name = "nugget_app_identity_identity_cc_proto",
52    visibility = ["//visibility:public"],
53    deps = [
54        "nugget_app_identity_identity_proto",
55    ],
56)
57
58cc_proto_library(
59    name = "nugget_app_avb_avb_cc_proto",
60    visibility = ["//visibility:public"],
61    deps = [
62        "nugget_app_avb_avb_proto",
63    ],
64)
65
66cc_proto_library(
67    name = "nugget_protobuf_options_cc_proto",
68    visibility = ["//visibility:public"],
69    deps = [
70        "nugget_protobuf_options_proto",
71    ],
72)
73
74################################################################################
75# rpc proto cc_libraries
76################################################################################
77
78cc_library(
79    name = "keymaster_client_proto",
80    srcs = [
81        "nugget/app/keymaster/Keymaster.client.cpp",
82    ],
83    hdrs = [
84        "nugget/app/keymaster/Keymaster.client.h",
85    ],
86    includes = [
87        "./nugget/app/keymaster",
88    ],
89    visibility = ["//visibility:public"],
90    deps = [
91        "nugget_app_keymaster_keymaster_cc_proto",
92        "nugget_protobuf_options_cc_proto",
93        "//host/generic/libnos",
94    ],
95)
96
97cc_library(
98    name = "weaver_client_proto",
99    srcs = [
100        "nugget/app/weaver/Weaver.client.cpp",
101    ],
102    hdrs = [
103        "nugget/app/weaver/Weaver.client.h",
104    ],
105    includes = [
106        "./nugget/app/weaver/",
107    ],
108    visibility = ["//visibility:public"],
109    deps = [
110        "nugget_app_weaver_weaver_cc_proto",
111        "nugget_protobuf_options_cc_proto",
112        "//host/generic/libnos",
113    ],
114)
115
116cc_library(
117    name = "identity_client_proto",
118    srcs = [
119        "nugget/app/identity/Identity.client.cpp",
120    ],
121    hdrs = [
122        "nugget/app/identity/Identity.client.h",
123    ],
124    includes = [
125        "./nugget/app/identity/",
126    ],
127    visibility = ["//visibility:public"],
128    deps = [
129        "nugget_app_identity_identity_cc_proto",
130        "nugget_protobuf_options_cc_proto",
131        "//host/generic/libnos",
132    ],
133)
134
135cc_library(
136    name = "avb_client_proto",
137    srcs = [
138        "nugget/app/avb/Avb.client.cpp",
139    ],
140    hdrs = [
141        "nugget/app/avb/Avb.client.h",
142    ],
143    includes = [
144        "./nugget/app/avb/",
145    ],
146    visibility = ["//visibility:public"],
147    deps = [
148        "nugget_app_avb_avb_cc_proto",
149        "nugget_protobuf_options_cc_proto",
150        "//host/generic/libnos",
151    ],
152)
153
154################################################################################
155# rpc proto genrules.
156################################################################################
157
158GEN_SERVICE = "$(location @com_google_protobuf//:protoc) --plugin=protoc-gen-nos-client-cpp=$(location //host/generic/libnos/generator:protoc_gen_nos_client_cpp)"
159
160PROTO_ROOT = "$$(dirname $$(dirname $$(dirname $(location nugget/protobuf/options.proto))))"
161
162genrule(
163    name = "avb_proto_client_cc_genrule",
164    srcs = [
165        "nugget/app/avb/avb.proto",
166        "nugget/protobuf/options.proto",
167        "google/protobuf/descriptor.proto",
168    ],
169    outs = [
170        "nugget/app/avb/Avb.client.cpp",
171    ],
172    cmd = GEN_SERVICE + " --proto_path=" + PROTO_ROOT +
173          " --nos-client-cpp_out=source:$$(dirname $(location nugget/app/avb/Avb.client.cpp)) " +
174          "$(location nugget/app/avb/avb.proto)",
175    tools = [
176        "//host/generic/libnos/generator:protoc_gen_nos_client_cpp",
177        "@com_google_protobuf//:protoc",
178    ],
179)
180
181genrule(
182    name = "avb_proto_client_h_genrule",
183    srcs = [
184        "nugget/app/avb/avb.proto",
185        "nugget/protobuf/options.proto",
186        "google/protobuf/descriptor.proto",
187    ],
188    outs = [
189        "nugget/app/avb/Avb.client.h",
190    ],
191    cmd = GEN_SERVICE + " --proto_path=" + PROTO_ROOT +
192          " --nos-client-cpp_out=header:$$(dirname $(location nugget/app/avb/Avb.client.h)) " +
193          "$(location nugget/app/avb/avb.proto)",
194    tools = [
195        "//host/generic/libnos/generator:protoc_gen_nos_client_cpp",
196        "@com_google_protobuf//:protoc",
197    ],
198)
199
200genrule(
201    name = "weaver_proto_client_cc_genrule",
202    srcs = [
203        "nugget/app/weaver/weaver.proto",
204        "nugget/protobuf/options.proto",
205        "google/protobuf/descriptor.proto",
206    ],
207    outs = [
208        "nugget/app/weaver/Weaver.client.cpp",
209    ],
210    cmd = GEN_SERVICE + " --proto_path=" + PROTO_ROOT +
211          " --nos-client-cpp_out=source:$$(dirname $(location nugget/app/weaver/Weaver.client.cpp)) " +
212          "$(location nugget/app/weaver/weaver.proto)",
213    tools = [
214        "//host/generic/libnos/generator:protoc_gen_nos_client_cpp",
215        "@com_google_protobuf//:protoc",
216    ],
217)
218
219genrule(
220    name = "weaver_proto_client_h_genrule",
221    srcs = [
222        "nugget/app/weaver/weaver.proto",
223        "nugget/protobuf/options.proto",
224        "google/protobuf/descriptor.proto",
225    ],
226    outs = [
227        "nugget/app/weaver/Weaver.client.h",
228    ],
229    cmd = GEN_SERVICE + " --proto_path=" + PROTO_ROOT +
230          " --nos-client-cpp_out=header:$$(dirname $(location nugget/app/weaver/Weaver.client.h)) " +
231          "$(location nugget/app/weaver/weaver.proto)",
232    tools = [
233        "//host/generic/libnos/generator:protoc_gen_nos_client_cpp",
234        "@com_google_protobuf//:protoc",
235    ],
236)
237
238genrule(
239    name = "identity_proto_client_cc_genrule",
240    srcs = [
241        "nugget/app/identity/identity.proto",
242        "nugget/app/identity/identity_defs.proto",
243        "nugget/app/identity/identity_types.proto",
244        "nugget/protobuf/options.proto",
245        "google/protobuf/descriptor.proto",
246    ],
247    outs = [
248        "nugget/app/identity/Identity.client.cpp",
249    ],
250    cmd = GEN_SERVICE + " --proto_path=" + PROTO_ROOT +
251          " --nos-client-cpp_out=source:$$(dirname $(location nugget/app/identity/Identity.client.cpp)) " +
252          "$(location nugget/app/identity/identity.proto)",
253    tools = [
254        "@com_google_protobuf//:protoc",
255        "//host/generic/libnos/generator:protoc_gen_nos_client_cpp",
256    ],
257)
258
259genrule(
260    name = "identity_proto_client_h_genrule",
261    srcs = [
262        "nugget/app/identity/identity.proto",
263        "nugget/app/identity/identity_defs.proto",
264        "nugget/app/identity/identity_types.proto",
265        "nugget/protobuf/options.proto",
266        "google/protobuf/descriptor.proto",
267    ],
268    outs = [
269        "nugget/app/identity/Identity.client.h",
270    ],
271    cmd = GEN_SERVICE + " --proto_path=" + PROTO_ROOT +
272          " --nos-client-cpp_out=header:$$(dirname $(location nugget/app/identity/Identity.client.h)) " +
273          "$(location nugget/app/identity/identity.proto)",
274    tools = [
275        "@com_google_protobuf//:protoc",
276        "//host/generic/libnos/generator:protoc_gen_nos_client_cpp",
277    ],
278)
279
280genrule(
281    name = "keymaster_proto_client_cc_genrule",
282    srcs = [
283        "nugget/app/keymaster/keymaster.proto",
284        "nugget/app/keymaster/keymaster_defs.proto",
285        "nugget/app/keymaster/keymaster_types.proto",
286        "nugget/protobuf/options.proto",
287        "google/protobuf/descriptor.proto",
288    ],
289    outs = [
290        "nugget/app/keymaster/Keymaster.client.cpp",
291    ],
292    cmd = GEN_SERVICE + " --proto_path=" + PROTO_ROOT +
293          " --nos-client-cpp_out=source:$$(dirname $(location nugget/app/keymaster/Keymaster.client.cpp)) " +
294          "$(location nugget/app/keymaster/keymaster.proto)",
295    tools = [
296        "//host/generic/libnos/generator:protoc_gen_nos_client_cpp",
297        "@com_google_protobuf//:protoc",
298    ],
299)
300
301genrule(
302    name = "keymaster_proto_client_h_genrule",
303    srcs = [
304        "nugget/app/keymaster/keymaster.proto",
305        "nugget/app/keymaster/keymaster_defs.proto",
306        "nugget/app/keymaster/keymaster_types.proto",
307        "nugget/protobuf/options.proto",
308        "google/protobuf/descriptor.proto",
309    ],
310    outs = [
311        "nugget/app/keymaster/Keymaster.client.h",
312    ],
313    cmd = GEN_SERVICE + " --proto_path=" + PROTO_ROOT +
314          " --nos-client-cpp_out=header:$$(dirname $(location nugget/app/keymaster/Keymaster.client.h)) " +
315          "$(location nugget/app/keymaster/keymaster.proto)",
316    tools = [
317        "//host/generic/libnos/generator:protoc_gen_nos_client_cpp",
318        "@com_google_protobuf//:protoc",
319    ],
320)
321
322################################################################################
323# proto libraries
324################################################################################
325
326PROTO_SOURCE_ROOT = "/host/generic/nugget/proto"
327
328proto_library(
329    name = "google_protobuf_descriptor_proto",
330    srcs = [
331        "google/protobuf/descriptor.proto",
332    ],
333    strip_import_prefix = PROTO_SOURCE_ROOT,
334)
335
336proto_library(
337    name = "nugget_app_avb_avb_proto",
338    visibility = ["//visibility:public"],
339    srcs = [
340        "nugget/app/avb/avb.proto",
341    ],
342    strip_import_prefix = PROTO_SOURCE_ROOT,
343    deps = [
344        "nugget_protobuf_options_proto",
345    ],
346)
347
348proto_library(
349    name = "nugget_app_keymaster_keymaster_proto",
350    visibility = ["//visibility:public"],
351    srcs = [
352        "nugget/app/keymaster/keymaster.proto",
353        "nugget/app/keymaster/keymaster_defs.proto",
354        "nugget/app/keymaster/keymaster_types.proto",
355    ],
356    strip_import_prefix = PROTO_SOURCE_ROOT,
357    deps = [
358        "nugget_protobuf_options_proto",
359    ],
360)
361
362proto_library(
363    name = "nugget_app_protoapi_control_proto",
364    srcs = [
365        "nugget/app/protoapi/control.proto",
366    ],
367    strip_import_prefix = PROTO_SOURCE_ROOT,
368    deps = [
369        "nugget_app_protoapi_header_proto",
370    ],
371)
372
373proto_library(
374    name = "nugget_app_protoapi_diagnostics_api_proto",
375    srcs = [
376        "nugget/app/protoapi/diagnostics_api.proto",
377    ],
378    strip_import_prefix = PROTO_SOURCE_ROOT,
379    deps = [
380        "nugget_app_protoapi_header_proto",
381    ],
382)
383
384proto_library(
385    name = "nugget_app_protoapi_gchips_types_proto",
386    srcs = [
387        "nugget/app/protoapi/gchips_types.proto",
388    ],
389    strip_import_prefix = PROTO_SOURCE_ROOT,
390)
391
392proto_library(
393    name = "nugget_app_protoapi_header_proto",
394    srcs = [
395        "nugget/app/protoapi/header.proto",
396    ],
397    strip_import_prefix = PROTO_SOURCE_ROOT,
398)
399
400proto_library(
401    name = "nugget_app_protoapi_testing_api_proto",
402    srcs = [
403        "nugget/app/protoapi/testing_api.proto",
404    ],
405    strip_import_prefix = PROTO_SOURCE_ROOT,
406    deps = [
407        "nugget_app_protoapi_header_proto",
408    ],
409)
410
411proto_library(
412    name = "nugget_app_weaver_weaver_proto",
413    visibility = ["//visibility:public"],
414    srcs = [
415        "nugget/app/weaver/weaver.proto",
416    ],
417    strip_import_prefix = PROTO_SOURCE_ROOT,
418    deps = [
419        "nugget_protobuf_options_proto",
420    ],
421)
422
423proto_library(
424    name = "nugget_app_identity_identity_proto",
425    visibility = ["//visibility:public"],
426    srcs = [
427        "nugget/app/identity/identity.proto",
428        "nugget/app/identity/identity_defs.proto",
429        "nugget/app/identity/identity_types.proto",
430    ],
431    strip_import_prefix = PROTO_SOURCE_ROOT,
432    deps = [
433        "nugget_protobuf_options_proto",
434    ],
435)
436
437proto_library(
438    name = "nugget_protobuf_options_proto",
439    srcs = [
440        "nugget/protobuf/options.proto",
441    ],
442    strip_import_prefix = PROTO_SOURCE_ROOT,
443    deps = [
444        "@com_google_protobuf//:descriptor_proto",
445    ],
446)
447