xref: /aosp_15_r20/external/federated-compute/fcp/client/engine/BUILD (revision 14675a029014e728ec732f129a32e299b2da0601)
1*14675a02SAndroid Build Coastguard Worker# Copyright 2019 Google LLC
2*14675a02SAndroid Build Coastguard Worker#
3*14675a02SAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License");
4*14675a02SAndroid Build Coastguard Worker# you may not use this file except in compliance with the License.
5*14675a02SAndroid Build Coastguard Worker# You may obtain a copy of the License at
6*14675a02SAndroid Build Coastguard Worker#
7*14675a02SAndroid Build Coastguard Worker#      http://www.apache.org/licenses/LICENSE-2.0
8*14675a02SAndroid Build Coastguard Worker#
9*14675a02SAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software
10*14675a02SAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS,
11*14675a02SAndroid Build Coastguard Worker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*14675a02SAndroid Build Coastguard Worker# See the License for the specific language governing permissions and
13*14675a02SAndroid Build Coastguard Worker# limitations under the License.
14*14675a02SAndroid Build Coastguard Worker
15*14675a02SAndroid Build Coastguard Workerload("@org_tensorflow//tensorflow/core/platform:build_config.bzl", "tf_proto_library")
16*14675a02SAndroid Build Coastguard Workerload("//fcp:config.bzl", "FCP_COPTS")
17*14675a02SAndroid Build Coastguard Worker
18*14675a02SAndroid Build Coastguard Workerdefault_visibility = [
19*14675a02SAndroid Build Coastguard Worker    "//fcp:internal",
20*14675a02SAndroid Build Coastguard Worker]
21*14675a02SAndroid Build Coastguard Worker
22*14675a02SAndroid Build Coastguard Workerpackage(
23*14675a02SAndroid Build Coastguard Worker    default_visibility = default_visibility,
24*14675a02SAndroid Build Coastguard Worker    licenses = ["notice"],  # Apache 2.0
25*14675a02SAndroid Build Coastguard Worker)
26*14675a02SAndroid Build Coastguard Worker
27*14675a02SAndroid Build Coastguard Workercc_library(
28*14675a02SAndroid Build Coastguard Worker    name = "plan_engine",
29*14675a02SAndroid Build Coastguard Worker    srcs = [
30*14675a02SAndroid Build Coastguard Worker        "simple_plan_engine.cc",
31*14675a02SAndroid Build Coastguard Worker    ],
32*14675a02SAndroid Build Coastguard Worker    hdrs = [
33*14675a02SAndroid Build Coastguard Worker        "simple_plan_engine.h",
34*14675a02SAndroid Build Coastguard Worker    ],
35*14675a02SAndroid Build Coastguard Worker    copts = FCP_COPTS,
36*14675a02SAndroid Build Coastguard Worker    visibility = default_visibility,
37*14675a02SAndroid Build Coastguard Worker    deps = [
38*14675a02SAndroid Build Coastguard Worker        ":common",
39*14675a02SAndroid Build Coastguard Worker        ":example_iterator_factory",
40*14675a02SAndroid Build Coastguard Worker        ":plan_engine_helpers",
41*14675a02SAndroid Build Coastguard Worker        ":tf_wrapper",
42*14675a02SAndroid Build Coastguard Worker        "//fcp/base",
43*14675a02SAndroid Build Coastguard Worker        "//fcp/client:histogram_counters_cc_proto",
44*14675a02SAndroid Build Coastguard Worker        "//fcp/client:interfaces",
45*14675a02SAndroid Build Coastguard Worker        "//fcp/client:interruptible_runner",
46*14675a02SAndroid Build Coastguard Worker        "//fcp/client:simple_task_environment",
47*14675a02SAndroid Build Coastguard Worker        "//fcp/client/opstats:opstats_logger",
48*14675a02SAndroid Build Coastguard Worker        "//fcp/protos:plan_cc_proto",
49*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/container:flat_hash_set",
50*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/status",
51*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/status:statusor",
52*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/strings",
53*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/time",
54*14675a02SAndroid Build Coastguard Worker        "@org_tensorflow//tensorflow/core:framework",
55*14675a02SAndroid Build Coastguard Worker        "@org_tensorflow//tensorflow/core:protos_all_cc",
56*14675a02SAndroid Build Coastguard Worker    ],
57*14675a02SAndroid Build Coastguard Worker)
58*14675a02SAndroid Build Coastguard Worker
59*14675a02SAndroid Build Coastguard Workercc_library(
60*14675a02SAndroid Build Coastguard Worker    name = "example_query_plan_engine",
61*14675a02SAndroid Build Coastguard Worker    srcs = [
62*14675a02SAndroid Build Coastguard Worker        "example_query_plan_engine.cc",
63*14675a02SAndroid Build Coastguard Worker    ],
64*14675a02SAndroid Build Coastguard Worker    hdrs = [
65*14675a02SAndroid Build Coastguard Worker        "example_query_plan_engine.h",
66*14675a02SAndroid Build Coastguard Worker    ],
67*14675a02SAndroid Build Coastguard Worker    copts = FCP_COPTS,
68*14675a02SAndroid Build Coastguard Worker    visibility = default_visibility,
69*14675a02SAndroid Build Coastguard Worker    deps = [
70*14675a02SAndroid Build Coastguard Worker        ":common",
71*14675a02SAndroid Build Coastguard Worker        ":example_iterator_factory",
72*14675a02SAndroid Build Coastguard Worker        ":plan_engine_helpers",
73*14675a02SAndroid Build Coastguard Worker        "//fcp/base",
74*14675a02SAndroid Build Coastguard Worker        "//fcp/client:example_query_result_cc_proto",
75*14675a02SAndroid Build Coastguard Worker        "//fcp/client:simple_task_environment",
76*14675a02SAndroid Build Coastguard Worker        "//fcp/client/opstats:opstats_logger",
77*14675a02SAndroid Build Coastguard Worker        "//fcp/protos:plan_cc_proto",
78*14675a02SAndroid Build Coastguard Worker        "//fcp/tensorflow:status",
79*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/container:flat_hash_map",
80*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/status",
81*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/status:statusor",
82*14675a02SAndroid Build Coastguard Worker        "@org_tensorflow//tensorflow/core:framework",
83*14675a02SAndroid Build Coastguard Worker        "@org_tensorflow//tensorflow/core/platform:tstring",
84*14675a02SAndroid Build Coastguard Worker    ],
85*14675a02SAndroid Build Coastguard Worker)
86*14675a02SAndroid Build Coastguard Worker
87*14675a02SAndroid Build Coastguard Workercc_test(
88*14675a02SAndroid Build Coastguard Worker    name = "example_query_plan_engine_test",
89*14675a02SAndroid Build Coastguard Worker    srcs = ["example_query_plan_engine_test.cc"],
90*14675a02SAndroid Build Coastguard Worker    deps = [
91*14675a02SAndroid Build Coastguard Worker        ":common",
92*14675a02SAndroid Build Coastguard Worker        ":example_query_plan_engine",
93*14675a02SAndroid Build Coastguard Worker        "//fcp/client:client_runner",
94*14675a02SAndroid Build Coastguard Worker        "//fcp/client:example_query_result_cc_proto",
95*14675a02SAndroid Build Coastguard Worker        "//fcp/client:test_helpers",
96*14675a02SAndroid Build Coastguard Worker        "//fcp/protos:plan_cc_proto",
97*14675a02SAndroid Build Coastguard Worker        "//fcp/tensorflow:external_dataset_op_lib",
98*14675a02SAndroid Build Coastguard Worker        "//fcp/testing",
99*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/container:flat_hash_map",
100*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/status",
101*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/status:statusor",
102*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/strings:str_format",
103*14675a02SAndroid Build Coastguard Worker        "@com_google_googletest//:gtest_main",
104*14675a02SAndroid Build Coastguard Worker        "@org_tensorflow//tensorflow/c:checkpoint_reader",
105*14675a02SAndroid Build Coastguard Worker        "@org_tensorflow//tensorflow/c:tf_status_headers",
106*14675a02SAndroid Build Coastguard Worker        "@org_tensorflow//tensorflow/c:tf_status_helper",
107*14675a02SAndroid Build Coastguard Worker        "@org_tensorflow//tensorflow/core:framework",
108*14675a02SAndroid Build Coastguard Worker        "@org_tensorflow//tensorflow/core:protos_all_cc",
109*14675a02SAndroid Build Coastguard Worker    ],
110*14675a02SAndroid Build Coastguard Worker)
111*14675a02SAndroid Build Coastguard Worker
112*14675a02SAndroid Build Coastguard Worker# A plan-engine independent wrapper around TF that supports cancellation.
113*14675a02SAndroid Build Coastguard Workercc_library(
114*14675a02SAndroid Build Coastguard Worker    name = "tf_wrapper",
115*14675a02SAndroid Build Coastguard Worker    srcs = ["tf_wrapper.cc"],
116*14675a02SAndroid Build Coastguard Worker    hdrs = ["tf_wrapper.h"],
117*14675a02SAndroid Build Coastguard Worker    copts = FCP_COPTS,
118*14675a02SAndroid Build Coastguard Worker    visibility = ["//visibility:private"],
119*14675a02SAndroid Build Coastguard Worker    deps = [
120*14675a02SAndroid Build Coastguard Worker        ":plan_engine_helpers",
121*14675a02SAndroid Build Coastguard Worker        "//fcp/base",
122*14675a02SAndroid Build Coastguard Worker        "//fcp/base:future",
123*14675a02SAndroid Build Coastguard Worker        "//fcp/base:scheduler",
124*14675a02SAndroid Build Coastguard Worker        "//fcp/client:diag_codes_cc_proto",
125*14675a02SAndroid Build Coastguard Worker        "//fcp/client:interfaces",
126*14675a02SAndroid Build Coastguard Worker        "//fcp/client:interruptible_runner",
127*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/status",
128*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/status:statusor",
129*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/time",
130*14675a02SAndroid Build Coastguard Worker        "@com_google_protobuf//:protobuf",
131*14675a02SAndroid Build Coastguard Worker        "@org_tensorflow//tensorflow/core:core_cpu",
132*14675a02SAndroid Build Coastguard Worker    ],
133*14675a02SAndroid Build Coastguard Worker)
134*14675a02SAndroid Build Coastguard Worker
135*14675a02SAndroid Build Coastguard Workercc_test(
136*14675a02SAndroid Build Coastguard Worker    name = "tf_wrapper_test",
137*14675a02SAndroid Build Coastguard Worker    srcs = ["tf_wrapper_test.cc"],
138*14675a02SAndroid Build Coastguard Worker    deps = [
139*14675a02SAndroid Build Coastguard Worker        ":tf_wrapper",
140*14675a02SAndroid Build Coastguard Worker        "//fcp/testing",
141*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/status",
142*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/status:statusor",
143*14675a02SAndroid Build Coastguard Worker        "@com_google_googletest//:gtest_main",
144*14675a02SAndroid Build Coastguard Worker        "@com_google_protobuf//:protobuf",
145*14675a02SAndroid Build Coastguard Worker    ],
146*14675a02SAndroid Build Coastguard Worker)
147*14675a02SAndroid Build Coastguard Worker
148*14675a02SAndroid Build Coastguard Workercc_library(
149*14675a02SAndroid Build Coastguard Worker    name = "plan_engine_helpers",
150*14675a02SAndroid Build Coastguard Worker    srcs = ["plan_engine_helpers.cc"],
151*14675a02SAndroid Build Coastguard Worker    hdrs = ["plan_engine_helpers.h"],
152*14675a02SAndroid Build Coastguard Worker    copts = FCP_COPTS,
153*14675a02SAndroid Build Coastguard Worker    visibility = default_visibility,
154*14675a02SAndroid Build Coastguard Worker    deps = [
155*14675a02SAndroid Build Coastguard Worker        ":common",
156*14675a02SAndroid Build Coastguard Worker        ":example_iterator_factory",
157*14675a02SAndroid Build Coastguard Worker        "//fcp/base",
158*14675a02SAndroid Build Coastguard Worker        "//fcp/client:diag_codes_cc_proto",
159*14675a02SAndroid Build Coastguard Worker        "//fcp/client:interfaces",
160*14675a02SAndroid Build Coastguard Worker        "//fcp/client:simple_task_environment",
161*14675a02SAndroid Build Coastguard Worker        "//fcp/client/opstats:opstats_logger",
162*14675a02SAndroid Build Coastguard Worker        "//fcp/client/opstats:opstats_logger_impl",
163*14675a02SAndroid Build Coastguard Worker        "//fcp/client/opstats:pds_backed_opstats_db",
164*14675a02SAndroid Build Coastguard Worker        "//fcp/protos:plan_cc_proto",
165*14675a02SAndroid Build Coastguard Worker        "//fcp/tensorflow:external_dataset",
166*14675a02SAndroid Build Coastguard Worker        "//fcp/tensorflow:host_object",
167*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/status",
168*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/status:statusor",
169*14675a02SAndroid Build Coastguard Worker        "@org_tensorflow//tensorflow/core:framework",
170*14675a02SAndroid Build Coastguard Worker    ],
171*14675a02SAndroid Build Coastguard Worker)
172*14675a02SAndroid Build Coastguard Worker
173*14675a02SAndroid Build Coastguard Workercc_library(
174*14675a02SAndroid Build Coastguard Worker    name = "tflite_wrapper",
175*14675a02SAndroid Build Coastguard Worker    srcs = ["tflite_wrapper.cc"],
176*14675a02SAndroid Build Coastguard Worker    hdrs = ["tflite_wrapper.h"],
177*14675a02SAndroid Build Coastguard Worker    deps = [
178*14675a02SAndroid Build Coastguard Worker        ":caching_error_reporter",
179*14675a02SAndroid Build Coastguard Worker        "//fcp/base",
180*14675a02SAndroid Build Coastguard Worker        "//fcp/client:interfaces",
181*14675a02SAndroid Build Coastguard Worker        "//fcp/client:interruptible_runner",
182*14675a02SAndroid Build Coastguard Worker        "//fcp/client:simple_task_environment",
183*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/status",
184*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/status:statusor",
185*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/strings:str_format",
186*14675a02SAndroid Build Coastguard Worker        "@com_google_protobuf//:protobuf",
187*14675a02SAndroid Build Coastguard Worker        "@org_tensorflow//tensorflow/core:framework",
188*14675a02SAndroid Build Coastguard Worker        "@org_tensorflow//tensorflow/lite:framework_stable",
189*14675a02SAndroid Build Coastguard Worker        "@org_tensorflow//tensorflow/lite:string_util",
190*14675a02SAndroid Build Coastguard Worker        "@org_tensorflow//tensorflow/lite/delegates/flex:delegate_only_runtime",
191*14675a02SAndroid Build Coastguard Worker        "@org_tensorflow//tensorflow/lite/delegates/flex:util",
192*14675a02SAndroid Build Coastguard Worker        "@org_tensorflow//tensorflow/lite/kernels:builtin_ops",
193*14675a02SAndroid Build Coastguard Worker    ],
194*14675a02SAndroid Build Coastguard Worker)
195*14675a02SAndroid Build Coastguard Worker
196*14675a02SAndroid Build Coastguard Workercc_test(
197*14675a02SAndroid Build Coastguard Worker    name = "tflite_wrapper_test",
198*14675a02SAndroid Build Coastguard Worker    srcs = ["tflite_wrapper_test.cc"],
199*14675a02SAndroid Build Coastguard Worker    data = [
200*14675a02SAndroid Build Coastguard Worker        "//fcp/client/engine/data:join_model.flatbuffer",
201*14675a02SAndroid Build Coastguard Worker        "//fcp/client/engine/data:length_model.flatbuffer",
202*14675a02SAndroid Build Coastguard Worker    ],
203*14675a02SAndroid Build Coastguard Worker    deps = [
204*14675a02SAndroid Build Coastguard Worker        ":tflite_wrapper",
205*14675a02SAndroid Build Coastguard Worker        "//fcp/client:interruptible_runner",
206*14675a02SAndroid Build Coastguard Worker        "//fcp/client:test_helpers",
207*14675a02SAndroid Build Coastguard Worker        "//fcp/testing",
208*14675a02SAndroid Build Coastguard Worker        "@com_google_googletest//:gtest_main",
209*14675a02SAndroid Build Coastguard Worker        "@org_tensorflow//tensorflow/core/kernels:string_join_op",
210*14675a02SAndroid Build Coastguard Worker        "@org_tensorflow//tensorflow/core/ops:string_ops_op_lib",
211*14675a02SAndroid Build Coastguard Worker    ],
212*14675a02SAndroid Build Coastguard Worker)
213*14675a02SAndroid Build Coastguard Worker
214*14675a02SAndroid Build Coastguard Workercc_library(
215*14675a02SAndroid Build Coastguard Worker    name = "tflite_plan_engine",
216*14675a02SAndroid Build Coastguard Worker    srcs = [
217*14675a02SAndroid Build Coastguard Worker        "tflite_plan_engine.cc",
218*14675a02SAndroid Build Coastguard Worker    ],
219*14675a02SAndroid Build Coastguard Worker    hdrs = [
220*14675a02SAndroid Build Coastguard Worker        "tflite_plan_engine.h",
221*14675a02SAndroid Build Coastguard Worker    ],
222*14675a02SAndroid Build Coastguard Worker    copts = FCP_COPTS,
223*14675a02SAndroid Build Coastguard Worker    deps = [
224*14675a02SAndroid Build Coastguard Worker        ":common",
225*14675a02SAndroid Build Coastguard Worker        ":example_iterator_factory",
226*14675a02SAndroid Build Coastguard Worker        ":plan_engine_helpers",
227*14675a02SAndroid Build Coastguard Worker        ":tflite_wrapper",
228*14675a02SAndroid Build Coastguard Worker        "//fcp/client:interfaces",
229*14675a02SAndroid Build Coastguard Worker        "//fcp/client:interruptible_runner",
230*14675a02SAndroid Build Coastguard Worker        "//fcp/client:simple_task_environment",
231*14675a02SAndroid Build Coastguard Worker        "//fcp/client/opstats:opstats_logger",
232*14675a02SAndroid Build Coastguard Worker        "//fcp/protos:plan_cc_proto",
233*14675a02SAndroid Build Coastguard Worker        "@org_tensorflow//tensorflow/core:framework",
234*14675a02SAndroid Build Coastguard Worker        "@org_tensorflow//tensorflow/core:protos_all_cc",
235*14675a02SAndroid Build Coastguard Worker    ],
236*14675a02SAndroid Build Coastguard Worker)
237*14675a02SAndroid Build Coastguard Worker
238*14675a02SAndroid Build Coastguard Workercc_library(
239*14675a02SAndroid Build Coastguard Worker    name = "caching_error_reporter",
240*14675a02SAndroid Build Coastguard Worker    srcs = ["caching_error_reporter.cc"],
241*14675a02SAndroid Build Coastguard Worker    hdrs = ["caching_error_reporter.h"],
242*14675a02SAndroid Build Coastguard Worker    deps = [
243*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/synchronization",
244*14675a02SAndroid Build Coastguard Worker        "@org_tensorflow//tensorflow/lite/core/api:error_reporter",
245*14675a02SAndroid Build Coastguard Worker    ],
246*14675a02SAndroid Build Coastguard Worker)
247*14675a02SAndroid Build Coastguard Worker
248*14675a02SAndroid Build Coastguard Workercc_test(
249*14675a02SAndroid Build Coastguard Worker    name = "caching_error_reporter_test",
250*14675a02SAndroid Build Coastguard Worker    srcs = ["caching_error_reporter_test.cc"],
251*14675a02SAndroid Build Coastguard Worker    deps = [
252*14675a02SAndroid Build Coastguard Worker        ":caching_error_reporter",
253*14675a02SAndroid Build Coastguard Worker        "//fcp/testing",
254*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/strings",
255*14675a02SAndroid Build Coastguard Worker        "@com_google_googletest//:gtest_main",
256*14675a02SAndroid Build Coastguard Worker        "@org_tensorflow//tensorflow/lite/core/api:error_reporter",
257*14675a02SAndroid Build Coastguard Worker    ],
258*14675a02SAndroid Build Coastguard Worker)
259*14675a02SAndroid Build Coastguard Worker
260*14675a02SAndroid Build Coastguard Workercc_library(
261*14675a02SAndroid Build Coastguard Worker    name = "common",
262*14675a02SAndroid Build Coastguard Worker    srcs = ["common.cc"],
263*14675a02SAndroid Build Coastguard Worker    hdrs = ["common.h"],
264*14675a02SAndroid Build Coastguard Worker    deps = [
265*14675a02SAndroid Build Coastguard Worker        ":engine_cc_proto",
266*14675a02SAndroid Build Coastguard Worker        "//fcp/base",
267*14675a02SAndroid Build Coastguard Worker        "//fcp/client:interfaces",
268*14675a02SAndroid Build Coastguard Worker        "//fcp/protos:plan_cc_proto",
269*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/container:flat_hash_set",
270*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/status",
271*14675a02SAndroid Build Coastguard Worker        "@org_tensorflow//tensorflow/core:framework",
272*14675a02SAndroid Build Coastguard Worker        "@org_tensorflow//tensorflow/core:protos_all_cc",
273*14675a02SAndroid Build Coastguard Worker    ],
274*14675a02SAndroid Build Coastguard Worker)
275*14675a02SAndroid Build Coastguard Worker
276*14675a02SAndroid Build Coastguard Workercc_library(
277*14675a02SAndroid Build Coastguard Worker    name = "example_iterator_factory",
278*14675a02SAndroid Build Coastguard Worker    hdrs = ["example_iterator_factory.h"],
279*14675a02SAndroid Build Coastguard Worker    copts = FCP_COPTS,
280*14675a02SAndroid Build Coastguard Worker    visibility = default_visibility,
281*14675a02SAndroid Build Coastguard Worker    deps = [
282*14675a02SAndroid Build Coastguard Worker        "//fcp/client:simple_task_environment",
283*14675a02SAndroid Build Coastguard Worker        "//fcp/protos:plan_cc_proto",
284*14675a02SAndroid Build Coastguard Worker        "@com_google_absl//absl/status:statusor",
285*14675a02SAndroid Build Coastguard Worker    ],
286*14675a02SAndroid Build Coastguard Worker)
287*14675a02SAndroid Build Coastguard Worker
288*14675a02SAndroid Build Coastguard Worker# Runtime protos. Those do not typically get serialized.
289*14675a02SAndroid Build Coastguard Workertf_proto_library(
290*14675a02SAndroid Build Coastguard Worker    name = "engine_proto",
291*14675a02SAndroid Build Coastguard Worker    srcs = ["engine.proto"],
292*14675a02SAndroid Build Coastguard Worker    visibility = ["//visibility:public"],
293*14675a02SAndroid Build Coastguard Worker)
294*14675a02SAndroid Build Coastguard Worker
295*14675a02SAndroid Build Coastguard Workerjava_proto_library(
296*14675a02SAndroid Build Coastguard Worker    name = "engine_java_proto",
297*14675a02SAndroid Build Coastguard Worker    deps = [":engine_proto"],
298*14675a02SAndroid Build Coastguard Worker)
299*14675a02SAndroid Build Coastguard Worker
300*14675a02SAndroid Build Coastguard Worker# Allowing to refer to the cc library generated by the rule above in usual way:
301*14675a02SAndroid Build Coastguard Workeralias(
302*14675a02SAndroid Build Coastguard Worker    name = "engine_cc_proto",
303*14675a02SAndroid Build Coastguard Worker    actual = "engine_proto_cc",
304*14675a02SAndroid Build Coastguard Worker    visibility = default_visibility,
305*14675a02SAndroid Build Coastguard Worker)
306