github.com/stackb/rules_proto@v0.0.0-20240221195024-5428336c51f1/example/routeguide/BUILD.bazel (about) 1 load("@rules_proto//proto:defs.bzl", "proto_library") 2 load("@build_stack_rules_proto//rules/cc:grpc_cc_library.bzl", "grpc_cc_library") 3 load("@build_stack_rules_proto//rules/cc:proto_cc_library.bzl", "proto_cc_library") 4 load("@build_stack_rules_proto//rules/closure:grpc_closure_js_library.bzl", "grpc_closure_js_library") 5 load("@build_stack_rules_proto//rules/closure:proto_closure_js_library.bzl", "proto_closure_js_library") 6 load("@build_stack_rules_proto//rules/go:proto_go_library.bzl", "proto_go_library") 7 load("@build_stack_rules_proto//rules/java:grpc_java_library.bzl", "grpc_java_library") 8 load("@build_stack_rules_proto//rules/java:proto_java_library.bzl", "proto_java_library") 9 load("@build_stack_rules_proto//rules/nodejs:grpc_nodejs_library.bzl", "grpc_nodejs_library") 10 load("@build_stack_rules_proto//rules/nodejs:grpc_web_js_library.bzl", "grpc_web_js_library") 11 load("@build_stack_rules_proto//rules/nodejs:proto_nodejs_library.bzl", "proto_nodejs_library") 12 load("@build_stack_rules_proto//rules/py:grpc_py_library.bzl", "grpc_py_library") 13 load("@build_stack_rules_proto//rules/py:proto_py_library.bzl", "proto_py_library") 14 load("@build_stack_rules_proto//rules/scala:grpc_scala_library.bzl", "grpc_scala_library") 15 load("@build_stack_rules_proto//rules/ts:proto_ts_library.bzl", "proto_ts_library") 16 load("@build_stack_rules_proto//rules:proto_compile.bzl", "proto_compile") 17 load("@aspect_rules_js//js:defs.bzl", "js_library") 18 19 # gazelle:proto_plugin ts_proto option nestJs=true 20 21 filegroup( 22 name = "features", 23 srcs = ["features.json"], 24 visibility = ["//visibility:public"], 25 ) 26 27 js_library( 28 name = "features_json", 29 srcs = ["features.json"], 30 visibility = ["//example/routeguide/nodejs:__pkg__"], 31 ) 32 33 genrule( 34 name = "feature_db_json", 35 srcs = ["features.json"], 36 outs = ["feature_db.json"], 37 cmd = """ 38 echo -n '{ "feature": ' > $@ 39 cat $< >> $@ 40 echo '}' >> $@ 41 """, 42 ) 43 44 filegroup( 45 name = "feature_db", 46 srcs = ["feature_db.json"], 47 visibility = ["//visibility:public"], 48 ) 49 50 # --- generated rules below here --- 51 52 proto_library( 53 name = "routeguide_proto", 54 srcs = ["routeguide.proto"], 55 visibility = ["//visibility:public"], 56 ) 57 58 grpc_closure_js_library( 59 name = "routeguide_grpc_closure_js_library", 60 srcs = ["routeguide.grpc.js"], 61 suppress = [ 62 "JSC_IMPLICITLY_NONNULL_JSDOC", 63 "JSC_UNUSED_LOCAL_ASSIGNMENT", 64 ], 65 visibility = ["//visibility:public"], 66 exports = [":routeguide_closure_js_library"], 67 deps = [":routeguide_closure_js_library"], 68 ) 69 70 proto_closure_js_library( 71 name = "routeguide_closure_js_library", 72 srcs = ["routeguide_closure.js"], 73 internal_descriptors = ["//example/routeguide:routeguide_proto"], 74 suppress = [ 75 "JSC_IMPLICITLY_NONNULL_JSDOC", 76 "JSC_UNUSED_LOCAL_ASSIGNMENT", 77 ], 78 visibility = ["//visibility:public"], 79 exports = [], 80 ) 81 82 proto_compile( 83 name = "routeguide_closure_js_compile", 84 options = { 85 "@build_stack_rules_proto//plugin/builtin:closurejs": [ 86 "import_style=closure", 87 "library=example/routeguide/routeguide_closure", 88 ], 89 "@build_stack_rules_proto//plugin/stackb/grpc_js:protoc-gen-grpc-js": ["out=example/routeguide/routeguide.grpc.js"], 90 }, 91 outputs = [ 92 "routeguide.grpc.js", 93 "routeguide_closure.js", 94 ], 95 plugins = [ 96 "@build_stack_rules_proto//plugin/builtin:closurejs", 97 "@build_stack_rules_proto//plugin/stackb/grpc_js:protoc-gen-grpc-js", 98 ], 99 proto = "routeguide_proto", 100 visibility = ["//visibility:public"], 101 ) 102 103 grpc_cc_library( 104 name = "routeguide_grpc_cc_library", 105 srcs = ["routeguide.grpc.pb.cc"], 106 hdrs = ["routeguide.grpc.pb.h"], 107 visibility = ["//visibility:public"], 108 deps = [ 109 ":routeguide_cc_library", 110 "@com_github_grpc_grpc//:grpc++", 111 "@com_github_grpc_grpc//:grpc++_reflection", 112 ], 113 ) 114 115 proto_cc_library( 116 name = "routeguide_cc_library", 117 srcs = ["routeguide.pb.cc"], 118 hdrs = ["routeguide.pb.h"], 119 visibility = ["//visibility:public"], 120 deps = ["@com_google_protobuf//:protobuf"], 121 ) 122 123 proto_compile( 124 name = "routeguide_cpp_compile", 125 outputs = [ 126 "routeguide.grpc.pb.cc", 127 "routeguide.grpc.pb.h", 128 "routeguide.pb.cc", 129 "routeguide.pb.h", 130 ], 131 plugins = [ 132 "@build_stack_rules_proto//plugin/builtin:cpp", 133 "@build_stack_rules_proto//plugin/grpc/grpc:protoc-gen-grpc-cpp", 134 ], 135 proto = "routeguide_proto", 136 visibility = ["//visibility:public"], 137 ) 138 139 proto_compile( 140 name = "routeguide_go_compile", 141 output_mappings = [ 142 "routeguide.pb.go=github.com/stackb/rules_proto/example/routeguide/routeguide.pb.go", 143 "routeguide_grpc.pb.go=github.com/stackb/rules_proto/example/routeguide/routeguide_grpc.pb.go", 144 ], 145 outputs = [ 146 "routeguide.pb.go", 147 "routeguide_grpc.pb.go", 148 ], 149 plugins = [ 150 "@build_stack_rules_proto//plugin/golang/protobuf:protoc-gen-go", 151 "@build_stack_rules_proto//plugin/grpc/grpc-go:protoc-gen-go-grpc", 152 ], 153 proto = "routeguide_proto", 154 visibility = ["//visibility:public"], 155 ) 156 157 proto_go_library( 158 name = "routeguide_go_proto", 159 srcs = [ 160 "routeguide.pb.go", 161 "routeguide_grpc.pb.go", 162 ], 163 importpath = "github.com/stackb/rules_proto/example/routeguide", 164 visibility = ["//visibility:public"], 165 deps = [ 166 "@org_golang_google_grpc//:go_default_library", 167 "@org_golang_google_grpc//codes", 168 "@org_golang_google_grpc//status", 169 "@org_golang_google_protobuf//reflect/protoreflect", 170 "@org_golang_google_protobuf//runtime/protoimpl", 171 ], 172 ) 173 174 grpc_java_library( 175 name = "routeguide_grpc_java_library", 176 srcs = ["routeguide_grpc.srcjar"], 177 visibility = ["//visibility:public"], 178 exports = [ 179 ":routeguide_java_library", 180 "@com_google_guava_guava//jar", 181 "@io_grpc_grpc_java//context", 182 "@io_grpc_grpc_java//protobuf", 183 "@io_grpc_grpc_java//stub", 184 "@io_grpc_grpc_java//stub:javax_annotation", 185 ], 186 deps = [ 187 ":routeguide_java_library", 188 "@com_google_guava_guava//jar", 189 "@io_grpc_grpc_java//context", 190 "@io_grpc_grpc_java//protobuf", 191 "@io_grpc_grpc_java//stub", 192 "@io_grpc_grpc_java//stub:javax_annotation", 193 ], 194 ) 195 196 proto_compile( 197 name = "routeguide_java_compile", 198 outs = { 199 "@build_stack_rules_proto//plugin/builtin:java": "example/routeguide/routeguide.srcjar", 200 "@build_stack_rules_proto//plugin/grpc/grpc-java:protoc-gen-grpc-java": "example/routeguide/routeguide_grpc.srcjar", 201 }, 202 outputs = [ 203 "routeguide.srcjar", 204 "routeguide_grpc.srcjar", 205 ], 206 plugins = [ 207 "@build_stack_rules_proto//plugin/builtin:java", 208 "@build_stack_rules_proto//plugin/grpc/grpc-java:protoc-gen-grpc-java", 209 ], 210 proto = "routeguide_proto", 211 visibility = ["//visibility:public"], 212 ) 213 214 proto_java_library( 215 name = "routeguide_java_library", 216 srcs = ["routeguide.srcjar"], 217 visibility = ["//visibility:public"], 218 exports = ["@com_google_protobuf//:protobuf_java"], 219 deps = ["@com_google_protobuf//:protobuf_java"], 220 ) 221 222 grpc_nodejs_library( 223 name = "routeguide_grpc_nodejs_library", 224 srcs = ["routeguide_grpc_pb.js"], 225 visibility = ["//visibility:public"], 226 deps = [":routeguide_nodejs_library"], 227 ) 228 229 grpc_web_js_library( 230 name = "routeguide_grpc_web_js_library", 231 srcs = ["routeguide_grpc_web_pb.js"], 232 visibility = ["//visibility:public"], 233 deps = [ 234 ":routeguide_nodejs_library", 235 "@org_golang_google_protobuf//reflect/protoreflect", 236 "@org_golang_google_protobuf//runtime/protoimpl", 237 ], 238 ) 239 240 proto_compile( 241 name = "routeguide_node_js_compile", 242 options = { 243 "@build_stack_rules_proto//plugin/builtin:commonjs": ["import_style=commonjs"], 244 "@build_stack_rules_proto//plugin/grpc/grpc-node:protoc-gen-grpc-node": ["grpc_js"], 245 "@build_stack_rules_proto//plugin/grpc/grpc-web:protoc-gen-grpc-web": [ 246 "import_style=commonjs+dts", 247 "mode=grpcwebtext", 248 ], 249 }, 250 outputs = [ 251 "routeguide_grpc_pb.js", 252 "routeguide_grpc_web_pb.js", 253 "routeguide_pb.js", 254 ], 255 plugins = [ 256 "@build_stack_rules_proto//plugin/builtin:commonjs", 257 "@build_stack_rules_proto//plugin/grpc/grpc-node:protoc-gen-grpc-node", 258 "@build_stack_rules_proto//plugin/grpc/grpc-web:protoc-gen-grpc-web", 259 ], 260 proto = "routeguide_proto", 261 visibility = ["//visibility:public"], 262 ) 263 264 proto_nodejs_library( 265 name = "routeguide_nodejs_library", 266 srcs = ["routeguide_pb.js"], 267 visibility = ["//visibility:public"], 268 ) 269 270 grpc_py_library( 271 name = "routeguide_grpc_py_library", 272 srcs = ["routeguide_pb2_grpc.py"], 273 visibility = ["//visibility:public"], 274 deps = [":routeguide_py_library"], 275 ) 276 277 proto_compile( 278 name = "routeguide_python_compile", 279 outputs = [ 280 "routeguide_pb2.py", 281 "routeguide_pb2.pyi", 282 "routeguide_pb2_grpc.py", 283 ], 284 plugins = [ 285 "@build_stack_rules_proto//plugin/builtin:pyi", 286 "@build_stack_rules_proto//plugin/builtin:python", 287 "@build_stack_rules_proto//plugin/grpc/grpc:protoc-gen-grpc-python", 288 ], 289 proto = "routeguide_proto", 290 visibility = ["//visibility:public"], 291 ) 292 293 proto_py_library( 294 name = "routeguide_py_library", 295 srcs = ["routeguide_pb2.py"], 296 visibility = ["//visibility:public"], 297 deps = ["@com_google_protobuf//:protobuf_python"], 298 ) 299 300 grpc_scala_library( 301 name = "routeguide_grpc_scala_library", 302 srcs = [ 303 "routeguide_akka_grpc.srcjar", 304 "routeguide_scala_grpc.srcjar", 305 ], 306 visibility = ["//visibility:public"], 307 deps = [ 308 "@maven_akka//:com_lightbend_akka_grpc_akka_grpc_runtime_2_12_2_1_3", 309 "@maven_akka//:com_typesafe_akka_akka_actor_2_12", 310 "@maven_akka//:com_typesafe_akka_akka_http_core_2_12", 311 "@maven_akka//:com_typesafe_akka_akka_stream_2_12", 312 "@maven_scala//:com_google_protobuf_protobuf_java", 313 "@maven_scala//:com_thesamet_scalapb_lenses_2_12", 314 "@maven_scala//:com_thesamet_scalapb_scalapb_runtime_2_12", 315 "@maven_scala//:com_thesamet_scalapb_scalapb_runtime_grpc_2_12", 316 "@maven_scala//:io_grpc_grpc_api", 317 "@maven_scala//:io_grpc_grpc_protobuf", 318 "@maven_scala//:io_grpc_grpc_stub", 319 ], 320 ) 321 322 proto_compile( 323 name = "routeguide_scala_compile", 324 options = {"@build_stack_rules_proto//plugin/scalapb/scalapb:protoc-gen-scala-grpc": ["grpc"]}, 325 outputs = [ 326 "routeguide_akka_grpc.srcjar", 327 "routeguide_scala.srcjar", 328 "routeguide_scala_grpc.srcjar", 329 ], 330 plugins = [ 331 "@build_stack_rules_proto//plugin/akka/akka-grpc:protoc-gen-akka-grpc", 332 "@build_stack_rules_proto//plugin/scalapb/scalapb:protoc-gen-scala", 333 "@build_stack_rules_proto//plugin/scalapb/scalapb:protoc-gen-scala-grpc", 334 ], 335 proto = "routeguide_proto", 336 visibility = ["//visibility:public"], 337 ) 338 339 proto_compile( 340 name = "routeguide_ts_proto_compile", 341 options = {"@build_stack_rules_proto//plugin/stephenh/ts-proto:protoc-gen-ts-proto": [ 342 "emitImportedFiles=false", 343 "esModuleInterop=true", 344 "nestJs=true", 345 ]}, 346 outputs = ["routeguide.ts"], 347 plugins = ["@build_stack_rules_proto//plugin/stephenh/ts-proto:protoc-gen-ts-proto"], 348 proto = "routeguide_proto", 349 visibility = ["//visibility:public"], 350 ) 351 352 proto_ts_library( 353 name = "routeguide_ts_proto", 354 srcs = ["routeguide.ts"], 355 visibility = ["//visibility:public"], 356 deps = [ 357 "@//:node_modules/@nestjs/microservices", 358 "@//:node_modules/@types/node", 359 "@//:node_modules/long", 360 "@//:node_modules/protobufjs", 361 "@//:node_modules/rxjs", 362 ], 363 )