github.com/grpc-ecosystem/grpc-gateway/v2@v2.19.1/examples/internal/proto/examplepb/BUILD.bazel (about) 1 load("@rules_proto//proto:defs.bzl", "proto_library") 2 load("@io_bazel_rules_go//go:def.bzl", "go_library") 3 load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library") 4 load("@grpc_ecosystem_grpc_gateway//protoc-gen-openapiv2:defs.bzl", "protoc_gen_openapiv2") 5 6 package(default_visibility = ["//visibility:public"]) 7 8 # TODO(yannic): Add examples/tests that use import_prefix/strip_import_prefix. 9 10 # gazelle:exclude a_bit_of_everything.pb.gw.go 11 # gazelle:exclude a_bit_of_everything_grpc.pb.go 12 # gazelle:exclude echo_service.pb.gw.go 13 # gazelle:exclude echo_service_grpc.pb.go 14 # gazelle:exclude flow_combination.pb.gw.go 15 # gazelle:exclude flow_combination_grpc.pb.go 16 # gazelle:exclude generate_unbound_methods.pb.gw.go 17 # gazelle:exclude generate_unbound_methods_grpc.pb.go 18 # gazelle:exclude generated_input.proto 19 # gazelle:exclude non_standard_names.pb.gw.go 20 # gazelle:exclude non_standard_names_grpc.pb.go 21 # gazelle:exclude response_body_service.pb.gw.go 22 # gazelle:exclude response_body_service_grpc.pb.go 23 # gazelle:exclude stream.pb.gw.go 24 # gazelle:exclude stream_grpc.pb.go 25 # gazelle:exclude use_go_template.pb.gw.go 26 # gazelle:exclude use_go_template_grpc.pb.go 27 # gazelle:exclude ignore_comment.pb.gw.go 28 # gazelle:exclude remove_internal_comment.pb.gw.go 29 # gazelle:exclude ignore_comment_grpc.pb.go 30 # gazelle:exclude wrappers.pb.gw.go 31 # gazelle:exclude wrappers_grpc.pb.go 32 # gazelle:exclude unannotated_echo_service.pb.gw.go 33 # gazelle:exclude unannotated_echo_service_grpc.pb.go 34 # gazelle:exclude visibility_rule_echo_service.pb.gw.go 35 # gazelle:exclude visibility_rule_echo_service_grpc.pb.go 36 # gazelle:exclude openapi_merge_a.proto 37 # gazelle:exclude openapi_merge_b.proto 38 # gazelle:go_grpc_compilers //:go_apiv2, //:go_grpc, //protoc-gen-grpc-gateway:go_gen_grpc_gateway 39 40 genrule( 41 name = "generated_proto", 42 srcs = ["generated_input.proto"], 43 outs = ["generated_output.proto"], 44 cmd = "cp $< $@", # A simple copy simulates a generated proto file. 45 ) 46 47 proto_library( 48 name = "examplepb_proto", 49 srcs = [ 50 "a_bit_of_everything.proto", 51 "echo_service.proto", 52 "flow_combination.proto", 53 "generate_unbound_methods.proto", 54 "generated_output.proto", 55 "ignore_comment.proto", 56 "non_standard_names.proto", 57 "remove_internal_comment.proto", 58 "response_body_service.proto", 59 "stream.proto", 60 "unannotated_echo_service.proto", 61 "use_go_template.proto", 62 "visibility_rule_echo_service.proto", 63 "wrappers.proto", 64 ], 65 deps = [ 66 "//examples/internal/proto/oneofenum:oneofenum_proto", 67 "//examples/internal/proto/pathenum:pathenum_proto", 68 "//examples/internal/proto/sub:sub_proto", 69 "//examples/internal/proto/sub2:sub2_proto", 70 "//protoc-gen-openapiv2/options:options_proto", 71 "@com_google_protobuf//:duration_proto", 72 "@com_google_protobuf//:empty_proto", 73 "@com_google_protobuf//:field_mask_proto", 74 "@com_google_protobuf//:struct_proto", 75 "@com_google_protobuf//:timestamp_proto", 76 "@com_google_protobuf//:wrappers_proto", 77 "@googleapis//google/api:annotations_proto", 78 "@googleapis//google/api:field_behavior_proto", 79 "@googleapis//google/api:httpbody_proto", 80 "@googleapis//google/api:visibility_proto", 81 "@googleapis//google/rpc:status_proto", 82 ], 83 ) 84 85 #keep 86 proto_library( 87 name = "openapi_merge_proto", 88 srcs = [ 89 "openapi_merge_a.proto", 90 "openapi_merge_b.proto", 91 ], 92 deps = [ 93 "@com_google_protobuf//:api_proto", 94 "@googleapis//google/api:annotations_proto", 95 "@googleapis//google/api:field_behavior_proto", 96 "@googleapis//google/rpc:status_proto", 97 ], 98 ) 99 100 go_proto_library( 101 name = "examplepb_go_proto", 102 compilers = [ 103 "//:go_apiv2", 104 "//:go_grpc", 105 "//protoc-gen-grpc-gateway:go_gen_grpc_gateway", 106 ], 107 importpath = "github.com/grpc-ecosystem/grpc-gateway/v2/examples/internal/proto/examplepb", 108 proto = ":examplepb_proto", 109 deps = [ 110 "//examples/internal/proto/oneofenum", 111 "//examples/internal/proto/pathenum", 112 "//examples/internal/proto/sub", 113 "//examples/internal/proto/sub2", 114 "//protoc-gen-openapiv2/options", 115 "@com_github_golang_protobuf//descriptor:go_default_library_gen", # keep 116 "@org_golang_google_genproto_googleapis_api//annotations", 117 "@org_golang_google_genproto_googleapis_api//httpbody", 118 "@org_golang_google_genproto_googleapis_api//visibility", 119 "@org_golang_google_genproto_googleapis_rpc//status", 120 ], 121 ) 122 123 go_library( 124 name = "examplepb", 125 srcs = [ 126 "openapi_merge_a.pb.go", 127 "openapi_merge_a.pb.gw.go", 128 "openapi_merge_a_grpc.pb.go", 129 "openapi_merge_b.pb.go", 130 "openapi_merge_b.pb.gw.go", 131 "openapi_merge_b_grpc.pb.go", 132 ], 133 embed = [":examplepb_go_proto"], 134 importpath = "github.com/grpc-ecosystem/grpc-gateway/v2/examples/internal/proto/examplepb", 135 deps = [ 136 "//runtime", 137 "//utilities", 138 "@org_golang_google_genproto_googleapis_api//annotations", 139 "@org_golang_google_grpc//:go_default_library", 140 "@org_golang_google_grpc//codes", 141 "@org_golang_google_grpc//grpclog", 142 "@org_golang_google_grpc//metadata", 143 "@org_golang_google_grpc//status", 144 "@org_golang_google_protobuf//proto", 145 "@org_golang_google_protobuf//reflect/protoreflect", 146 "@org_golang_google_protobuf//runtime/protoimpl", 147 ], 148 ) 149 150 protoc_gen_openapiv2( 151 name = "examplepb_protoc_gen_openapiv2", 152 proto = ":examplepb_proto", 153 ) 154 155 protoc_gen_openapiv2( 156 name = "examplepb_protoc_gen_openapiv2_merged", 157 proto = ":examplepb_proto", 158 single_output = True, # Outputs a single swagger.json file. 159 ) 160 161 protoc_gen_openapiv2( 162 name = "examplepb_openapi_merge", 163 proto = ":openapi_merge_proto", 164 single_output = True, # Outputs a single swagger.json file. 165 ) 166 167 alias( 168 name = "go_default_library", 169 actual = ":examplepb", 170 visibility = ["//examples:__subpackages__"], 171 )