1*cc02d7e2SAndroid Build Coastguard Worker# Copyright 2017 gRPC authors. 2*cc02d7e2SAndroid Build Coastguard Worker# 3*cc02d7e2SAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License"); 4*cc02d7e2SAndroid Build Coastguard Worker# you may not use this file except in compliance with the License. 5*cc02d7e2SAndroid Build Coastguard Worker# You may obtain a copy of the License at 6*cc02d7e2SAndroid Build Coastguard Worker# 7*cc02d7e2SAndroid Build Coastguard Worker# http://www.apache.org/licenses/LICENSE-2.0 8*cc02d7e2SAndroid Build Coastguard Worker# 9*cc02d7e2SAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software 10*cc02d7e2SAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS, 11*cc02d7e2SAndroid Build Coastguard Worker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12*cc02d7e2SAndroid Build Coastguard Worker# See the License for the specific language governing permissions and 13*cc02d7e2SAndroid Build Coastguard Worker# limitations under the License. 14*cc02d7e2SAndroid Build Coastguard Worker 15*cc02d7e2SAndroid Build Coastguard Workerload("@rules_proto//proto:defs.bzl", "proto_library") 16*cc02d7e2SAndroid Build Coastguard Workerload("//bazel:grpc_build_system.bzl", "grpc_package", "grpc_proto_library") 17*cc02d7e2SAndroid Build Coastguard Workerload("//bazel:python_rules.bzl", "py_grpc_library", "py_proto_library") 18*cc02d7e2SAndroid Build Coastguard Worker 19*cc02d7e2SAndroid Build Coastguard Workerlicenses(["notice"]) 20*cc02d7e2SAndroid Build Coastguard Worker 21*cc02d7e2SAndroid Build Coastguard Workergrpc_package( 22*cc02d7e2SAndroid Build Coastguard Worker name = "testing", 23*cc02d7e2SAndroid Build Coastguard Worker visibility = "public", 24*cc02d7e2SAndroid Build Coastguard Worker) 25*cc02d7e2SAndroid Build Coastguard Worker 26*cc02d7e2SAndroid Build Coastguard Workerexports_files([ 27*cc02d7e2SAndroid Build Coastguard Worker "echo.proto", 28*cc02d7e2SAndroid Build Coastguard Worker "echo_messages.proto", 29*cc02d7e2SAndroid Build Coastguard Worker "empty.proto", 30*cc02d7e2SAndroid Build Coastguard Worker "messages.proto", 31*cc02d7e2SAndroid Build Coastguard Worker "simple_messages.proto", 32*cc02d7e2SAndroid Build Coastguard Worker "test.proto", 33*cc02d7e2SAndroid Build Coastguard Worker]) 34*cc02d7e2SAndroid Build Coastguard Worker 35*cc02d7e2SAndroid Build Coastguard Workergrpc_proto_library( 36*cc02d7e2SAndroid Build Coastguard Worker name = "compiler_test_proto", 37*cc02d7e2SAndroid Build Coastguard Worker srcs = ["compiler_test.proto"], 38*cc02d7e2SAndroid Build Coastguard Worker generate_mocks = True, 39*cc02d7e2SAndroid Build Coastguard Worker) 40*cc02d7e2SAndroid Build Coastguard Worker 41*cc02d7e2SAndroid Build Coastguard Workergrpc_proto_library( 42*cc02d7e2SAndroid Build Coastguard Worker name = "control_proto", 43*cc02d7e2SAndroid Build Coastguard Worker srcs = ["control.proto"], 44*cc02d7e2SAndroid Build Coastguard Worker has_services = False, 45*cc02d7e2SAndroid Build Coastguard Worker well_known_protos = True, 46*cc02d7e2SAndroid Build Coastguard Worker deps = [ 47*cc02d7e2SAndroid Build Coastguard Worker "payloads_proto", 48*cc02d7e2SAndroid Build Coastguard Worker "stats_proto", 49*cc02d7e2SAndroid Build Coastguard Worker ], 50*cc02d7e2SAndroid Build Coastguard Worker) 51*cc02d7e2SAndroid Build Coastguard Worker 52*cc02d7e2SAndroid Build Coastguard Workergrpc_proto_library( 53*cc02d7e2SAndroid Build Coastguard Worker name = "echo_messages_proto", 54*cc02d7e2SAndroid Build Coastguard Worker srcs = ["echo_messages.proto"], 55*cc02d7e2SAndroid Build Coastguard Worker deps = [ 56*cc02d7e2SAndroid Build Coastguard Worker "//src/proto/grpc/testing/xds/v3:orca_load_report_proto", 57*cc02d7e2SAndroid Build Coastguard Worker ], 58*cc02d7e2SAndroid Build Coastguard Worker) 59*cc02d7e2SAndroid Build Coastguard Worker 60*cc02d7e2SAndroid Build Coastguard Workergrpc_proto_library( 61*cc02d7e2SAndroid Build Coastguard Worker name = "echo_proto", 62*cc02d7e2SAndroid Build Coastguard Worker srcs = ["echo.proto"], 63*cc02d7e2SAndroid Build Coastguard Worker generate_mocks = True, 64*cc02d7e2SAndroid Build Coastguard Worker deps = [ 65*cc02d7e2SAndroid Build Coastguard Worker "echo_messages_proto", 66*cc02d7e2SAndroid Build Coastguard Worker "simple_messages_proto", 67*cc02d7e2SAndroid Build Coastguard Worker ], 68*cc02d7e2SAndroid Build Coastguard Worker) 69*cc02d7e2SAndroid Build Coastguard Worker 70*cc02d7e2SAndroid Build Coastguard Workergrpc_proto_library( 71*cc02d7e2SAndroid Build Coastguard Worker name = "empty_proto", 72*cc02d7e2SAndroid Build Coastguard Worker srcs = ["empty.proto"], 73*cc02d7e2SAndroid Build Coastguard Worker has_services = False, 74*cc02d7e2SAndroid Build Coastguard Worker) 75*cc02d7e2SAndroid Build Coastguard Worker 76*cc02d7e2SAndroid Build Coastguard Workerproto_library( 77*cc02d7e2SAndroid Build Coastguard Worker name = "empty_proto_descriptor", 78*cc02d7e2SAndroid Build Coastguard Worker srcs = ["empty.proto"], 79*cc02d7e2SAndroid Build Coastguard Worker) 80*cc02d7e2SAndroid Build Coastguard Worker 81*cc02d7e2SAndroid Build Coastguard Workerpy_proto_library( 82*cc02d7e2SAndroid Build Coastguard Worker name = "empty_py_pb2", 83*cc02d7e2SAndroid Build Coastguard Worker deps = [":empty_proto_descriptor"], 84*cc02d7e2SAndroid Build Coastguard Worker) 85*cc02d7e2SAndroid Build Coastguard Worker 86*cc02d7e2SAndroid Build Coastguard Workerpy_grpc_library( 87*cc02d7e2SAndroid Build Coastguard Worker name = "empty_py_pb2_grpc", 88*cc02d7e2SAndroid Build Coastguard Worker srcs = [":empty_proto_descriptor"], 89*cc02d7e2SAndroid Build Coastguard Worker deps = [":empty_py_pb2"], 90*cc02d7e2SAndroid Build Coastguard Worker) 91*cc02d7e2SAndroid Build Coastguard Worker 92*cc02d7e2SAndroid Build Coastguard Workergrpc_proto_library( 93*cc02d7e2SAndroid Build Coastguard Worker name = "messages_proto", 94*cc02d7e2SAndroid Build Coastguard Worker srcs = ["messages.proto"], 95*cc02d7e2SAndroid Build Coastguard Worker has_services = False, 96*cc02d7e2SAndroid Build Coastguard Worker) 97*cc02d7e2SAndroid Build Coastguard Worker 98*cc02d7e2SAndroid Build Coastguard Workerproto_library( 99*cc02d7e2SAndroid Build Coastguard Worker name = "messages_proto_descriptor", 100*cc02d7e2SAndroid Build Coastguard Worker srcs = ["messages.proto"], 101*cc02d7e2SAndroid Build Coastguard Worker) 102*cc02d7e2SAndroid Build Coastguard Worker 103*cc02d7e2SAndroid Build Coastguard Workerpy_proto_library( 104*cc02d7e2SAndroid Build Coastguard Worker name = "py_messages_proto", 105*cc02d7e2SAndroid Build Coastguard Worker deps = [":messages_proto_descriptor"], 106*cc02d7e2SAndroid Build Coastguard Worker) 107*cc02d7e2SAndroid Build Coastguard Worker 108*cc02d7e2SAndroid Build Coastguard Workerpy_grpc_library( 109*cc02d7e2SAndroid Build Coastguard Worker name = "messages_py_pb2_grpc", 110*cc02d7e2SAndroid Build Coastguard Worker srcs = [":messages_proto_descriptor"], 111*cc02d7e2SAndroid Build Coastguard Worker deps = [":py_messages_proto"], 112*cc02d7e2SAndroid Build Coastguard Worker) 113*cc02d7e2SAndroid Build Coastguard Worker 114*cc02d7e2SAndroid Build Coastguard Workergrpc_proto_library( 115*cc02d7e2SAndroid Build Coastguard Worker name = "metrics_proto", 116*cc02d7e2SAndroid Build Coastguard Worker srcs = ["metrics.proto"], 117*cc02d7e2SAndroid Build Coastguard Worker) 118*cc02d7e2SAndroid Build Coastguard Worker 119*cc02d7e2SAndroid Build Coastguard Workergrpc_proto_library( 120*cc02d7e2SAndroid Build Coastguard Worker name = "payloads_proto", 121*cc02d7e2SAndroid Build Coastguard Worker srcs = ["payloads.proto"], 122*cc02d7e2SAndroid Build Coastguard Worker has_services = False, 123*cc02d7e2SAndroid Build Coastguard Worker) 124*cc02d7e2SAndroid Build Coastguard Worker 125*cc02d7e2SAndroid Build Coastguard Workergrpc_proto_library( 126*cc02d7e2SAndroid Build Coastguard Worker name = "benchmark_service_proto", 127*cc02d7e2SAndroid Build Coastguard Worker srcs = ["benchmark_service.proto"], 128*cc02d7e2SAndroid Build Coastguard Worker deps = [ 129*cc02d7e2SAndroid Build Coastguard Worker "messages_proto", 130*cc02d7e2SAndroid Build Coastguard Worker ], 131*cc02d7e2SAndroid Build Coastguard Worker) 132*cc02d7e2SAndroid Build Coastguard Worker 133*cc02d7e2SAndroid Build Coastguard Workerproto_library( 134*cc02d7e2SAndroid Build Coastguard Worker name = "benchmark_service_descriptor", 135*cc02d7e2SAndroid Build Coastguard Worker srcs = ["benchmark_service.proto"], 136*cc02d7e2SAndroid Build Coastguard Worker deps = [":messages_proto_descriptor"], 137*cc02d7e2SAndroid Build Coastguard Worker) 138*cc02d7e2SAndroid Build Coastguard Worker 139*cc02d7e2SAndroid Build Coastguard Workerpy_proto_library( 140*cc02d7e2SAndroid Build Coastguard Worker name = "benchmark_service_py_pb2", 141*cc02d7e2SAndroid Build Coastguard Worker deps = [":benchmark_service_descriptor"], 142*cc02d7e2SAndroid Build Coastguard Worker) 143*cc02d7e2SAndroid Build Coastguard Worker 144*cc02d7e2SAndroid Build Coastguard Workerpy_grpc_library( 145*cc02d7e2SAndroid Build Coastguard Worker name = "benchmark_service_py_pb2_grpc", 146*cc02d7e2SAndroid Build Coastguard Worker srcs = [":benchmark_service_descriptor"], 147*cc02d7e2SAndroid Build Coastguard Worker deps = [":benchmark_service_py_pb2"], 148*cc02d7e2SAndroid Build Coastguard Worker) 149*cc02d7e2SAndroid Build Coastguard Worker 150*cc02d7e2SAndroid Build Coastguard Workergrpc_proto_library( 151*cc02d7e2SAndroid Build Coastguard Worker name = "report_qps_scenario_service_proto", 152*cc02d7e2SAndroid Build Coastguard Worker srcs = ["report_qps_scenario_service.proto"], 153*cc02d7e2SAndroid Build Coastguard Worker deps = [ 154*cc02d7e2SAndroid Build Coastguard Worker "control_proto", 155*cc02d7e2SAndroid Build Coastguard Worker ], 156*cc02d7e2SAndroid Build Coastguard Worker) 157*cc02d7e2SAndroid Build Coastguard Worker 158*cc02d7e2SAndroid Build Coastguard Workergrpc_proto_library( 159*cc02d7e2SAndroid Build Coastguard Worker name = "worker_service_proto", 160*cc02d7e2SAndroid Build Coastguard Worker srcs = ["worker_service.proto"], 161*cc02d7e2SAndroid Build Coastguard Worker deps = [ 162*cc02d7e2SAndroid Build Coastguard Worker "control_proto", 163*cc02d7e2SAndroid Build Coastguard Worker ], 164*cc02d7e2SAndroid Build Coastguard Worker) 165*cc02d7e2SAndroid Build Coastguard Worker 166*cc02d7e2SAndroid Build Coastguard Workergrpc_proto_library( 167*cc02d7e2SAndroid Build Coastguard Worker name = "simple_messages_proto", 168*cc02d7e2SAndroid Build Coastguard Worker srcs = ["simple_messages.proto"], 169*cc02d7e2SAndroid Build Coastguard Worker) 170*cc02d7e2SAndroid Build Coastguard Worker 171*cc02d7e2SAndroid Build Coastguard Workergrpc_proto_library( 172*cc02d7e2SAndroid Build Coastguard Worker name = "stats_proto", 173*cc02d7e2SAndroid Build Coastguard Worker srcs = ["stats.proto"], 174*cc02d7e2SAndroid Build Coastguard Worker has_services = False, 175*cc02d7e2SAndroid Build Coastguard Worker) 176*cc02d7e2SAndroid Build Coastguard Worker 177*cc02d7e2SAndroid Build Coastguard Workergrpc_proto_library( 178*cc02d7e2SAndroid Build Coastguard Worker name = "test_proto", 179*cc02d7e2SAndroid Build Coastguard Worker srcs = ["test.proto"], 180*cc02d7e2SAndroid Build Coastguard Worker deps = [ 181*cc02d7e2SAndroid Build Coastguard Worker "empty_proto", 182*cc02d7e2SAndroid Build Coastguard Worker "messages_proto", 183*cc02d7e2SAndroid Build Coastguard Worker ], 184*cc02d7e2SAndroid Build Coastguard Worker) 185*cc02d7e2SAndroid Build Coastguard Worker 186*cc02d7e2SAndroid Build Coastguard Worker# Test that grpc_proto_library/cc_grpc_library can consume generated files 187*cc02d7e2SAndroid Build Coastguard Workergenrule( 188*cc02d7e2SAndroid Build Coastguard Worker name = "messages_gen_proto_file", 189*cc02d7e2SAndroid Build Coastguard Worker srcs = ["messages.proto"], 190*cc02d7e2SAndroid Build Coastguard Worker outs = ["messages_gen.proto"], 191*cc02d7e2SAndroid Build Coastguard Worker cmd = "cp $< $@", 192*cc02d7e2SAndroid Build Coastguard Worker) 193*cc02d7e2SAndroid Build Coastguard Worker 194*cc02d7e2SAndroid Build Coastguard Workergrpc_proto_library( 195*cc02d7e2SAndroid Build Coastguard Worker name = "messages_gen_proto", 196*cc02d7e2SAndroid Build Coastguard Worker srcs = ["messages_gen_proto_file"], 197*cc02d7e2SAndroid Build Coastguard Worker has_services = False, 198*cc02d7e2SAndroid Build Coastguard Worker) 199*cc02d7e2SAndroid Build Coastguard Worker 200*cc02d7e2SAndroid Build Coastguard Workergenrule( 201*cc02d7e2SAndroid Build Coastguard Worker name = "test_gen_proto_file", 202*cc02d7e2SAndroid Build Coastguard Worker srcs = ["test.proto"], 203*cc02d7e2SAndroid Build Coastguard Worker outs = ["test_gen.proto"], 204*cc02d7e2SAndroid Build Coastguard Worker cmd = "sed 's/messages.proto/messages_gen.proto/' $< > $@", 205*cc02d7e2SAndroid Build Coastguard Worker) 206*cc02d7e2SAndroid Build Coastguard Worker 207*cc02d7e2SAndroid Build Coastguard Worker# Consume generated files in srcs and in deps 208*cc02d7e2SAndroid Build Coastguard Workergrpc_proto_library( 209*cc02d7e2SAndroid Build Coastguard Worker name = "test_gen_proto", 210*cc02d7e2SAndroid Build Coastguard Worker srcs = ["test_gen_proto_file"], 211*cc02d7e2SAndroid Build Coastguard Worker deps = [ 212*cc02d7e2SAndroid Build Coastguard Worker "empty_proto", 213*cc02d7e2SAndroid Build Coastguard Worker "messages_gen_proto", 214*cc02d7e2SAndroid Build Coastguard Worker ], 215*cc02d7e2SAndroid Build Coastguard Worker) 216*cc02d7e2SAndroid Build Coastguard Worker 217*cc02d7e2SAndroid Build Coastguard Workerproto_library( 218*cc02d7e2SAndroid Build Coastguard Worker name = "test_proto_descriptor", 219*cc02d7e2SAndroid Build Coastguard Worker srcs = ["test.proto"], 220*cc02d7e2SAndroid Build Coastguard Worker deps = [ 221*cc02d7e2SAndroid Build Coastguard Worker ":empty_proto_descriptor", 222*cc02d7e2SAndroid Build Coastguard Worker ":messages_proto_descriptor", 223*cc02d7e2SAndroid Build Coastguard Worker ], 224*cc02d7e2SAndroid Build Coastguard Worker) 225*cc02d7e2SAndroid Build Coastguard Worker 226*cc02d7e2SAndroid Build Coastguard Workerpy_proto_library( 227*cc02d7e2SAndroid Build Coastguard Worker name = "py_test_proto", 228*cc02d7e2SAndroid Build Coastguard Worker deps = [":test_proto_descriptor"], 229*cc02d7e2SAndroid Build Coastguard Worker) 230*cc02d7e2SAndroid Build Coastguard Worker 231*cc02d7e2SAndroid Build Coastguard Workerpy_grpc_library( 232*cc02d7e2SAndroid Build Coastguard Worker name = "test_py_pb2_grpc", 233*cc02d7e2SAndroid Build Coastguard Worker srcs = [":test_proto_descriptor"], 234*cc02d7e2SAndroid Build Coastguard Worker deps = [":py_test_proto"], 235*cc02d7e2SAndroid Build Coastguard Worker) 236*cc02d7e2SAndroid Build Coastguard Worker 237*cc02d7e2SAndroid Build Coastguard Workerproto_library( 238*cc02d7e2SAndroid Build Coastguard Worker name = "worker_service_descriptor", 239*cc02d7e2SAndroid Build Coastguard Worker srcs = ["worker_service.proto"], 240*cc02d7e2SAndroid Build Coastguard Worker deps = [":control_descriptor"], 241*cc02d7e2SAndroid Build Coastguard Worker) 242*cc02d7e2SAndroid Build Coastguard Worker 243*cc02d7e2SAndroid Build Coastguard Workerpy_proto_library( 244*cc02d7e2SAndroid Build Coastguard Worker name = "worker_service_py_pb2", 245*cc02d7e2SAndroid Build Coastguard Worker deps = [":worker_service_descriptor"], 246*cc02d7e2SAndroid Build Coastguard Worker) 247*cc02d7e2SAndroid Build Coastguard Worker 248*cc02d7e2SAndroid Build Coastguard Workerpy_grpc_library( 249*cc02d7e2SAndroid Build Coastguard Worker name = "worker_service_py_pb2_grpc", 250*cc02d7e2SAndroid Build Coastguard Worker srcs = [":worker_service_descriptor"], 251*cc02d7e2SAndroid Build Coastguard Worker deps = [":worker_service_py_pb2"], 252*cc02d7e2SAndroid Build Coastguard Worker) 253*cc02d7e2SAndroid Build Coastguard Worker 254*cc02d7e2SAndroid Build Coastguard Workerproto_library( 255*cc02d7e2SAndroid Build Coastguard Worker name = "stats_descriptor", 256*cc02d7e2SAndroid Build Coastguard Worker srcs = ["stats.proto"], 257*cc02d7e2SAndroid Build Coastguard Worker) 258*cc02d7e2SAndroid Build Coastguard Worker 259*cc02d7e2SAndroid Build Coastguard Workerpy_proto_library( 260*cc02d7e2SAndroid Build Coastguard Worker name = "stats_py_pb2", 261*cc02d7e2SAndroid Build Coastguard Worker deps = [":stats_descriptor"], 262*cc02d7e2SAndroid Build Coastguard Worker) 263*cc02d7e2SAndroid Build Coastguard Worker 264*cc02d7e2SAndroid Build Coastguard Workerproto_library( 265*cc02d7e2SAndroid Build Coastguard Worker name = "payloads_descriptor", 266*cc02d7e2SAndroid Build Coastguard Worker srcs = ["payloads.proto"], 267*cc02d7e2SAndroid Build Coastguard Worker) 268*cc02d7e2SAndroid Build Coastguard Worker 269*cc02d7e2SAndroid Build Coastguard Workerpy_proto_library( 270*cc02d7e2SAndroid Build Coastguard Worker name = "payloads_py_pb2", 271*cc02d7e2SAndroid Build Coastguard Worker deps = [":payloads_descriptor"], 272*cc02d7e2SAndroid Build Coastguard Worker) 273*cc02d7e2SAndroid Build Coastguard Worker 274*cc02d7e2SAndroid Build Coastguard Workerproto_library( 275*cc02d7e2SAndroid Build Coastguard Worker name = "control_descriptor", 276*cc02d7e2SAndroid Build Coastguard Worker srcs = ["control.proto"], 277*cc02d7e2SAndroid Build Coastguard Worker deps = [ 278*cc02d7e2SAndroid Build Coastguard Worker ":payloads_descriptor", 279*cc02d7e2SAndroid Build Coastguard Worker ":stats_descriptor", 280*cc02d7e2SAndroid Build Coastguard Worker "@com_google_protobuf//:timestamp_proto", 281*cc02d7e2SAndroid Build Coastguard Worker ], 282*cc02d7e2SAndroid Build Coastguard Worker) 283*cc02d7e2SAndroid Build Coastguard Worker 284*cc02d7e2SAndroid Build Coastguard Workerpy_proto_library( 285*cc02d7e2SAndroid Build Coastguard Worker name = "control_py_pb2", 286*cc02d7e2SAndroid Build Coastguard Worker deps = [":control_descriptor"], 287*cc02d7e2SAndroid Build Coastguard Worker) 288*cc02d7e2SAndroid Build Coastguard Worker 289*cc02d7e2SAndroid Build Coastguard Workergrpc_proto_library( 290*cc02d7e2SAndroid Build Coastguard Worker name = "istio_echo_proto", 291*cc02d7e2SAndroid Build Coastguard Worker srcs = ["istio_echo.proto"], 292*cc02d7e2SAndroid Build Coastguard Worker well_known_protos = True, 293*cc02d7e2SAndroid Build Coastguard Worker) 294