yesod-mirror/experimental/users/acmcarther/examples/grpc_example/BUILD
Copybara 8157b39ea4
Some checks failed
CI / build (push) Failing after 12s
Project import generated by Copybara.
GitOrigin-RevId: 6370f6ea785709295b6abcf9c60717cacf3ac432
2026-01-20 21:26:21 +00:00

106 lines
3.2 KiB
Text

load("@aspect_rules_py//py:defs.bzl", "py_binary", "py_library", "py_pex_binary", "py_unpacked_wheel")
load("@build_stack_rules_proto//rules:proto_compile.bzl", "proto_compile")
load("@build_stack_rules_proto//rules/py:grpc_py_library.bzl", "grpc_py_library")
load("@build_stack_rules_proto//rules/py:proto_py_library.bzl", "proto_py_library")
load("@pip_third_party//:requirements.bzl", "requirement")
load("@rules_go//go:def.bzl", "go_library", "go_test")
load("@rules_proto//proto:defs.bzl", "proto_library")
# gazelle:resolve go forgejo.csbx.dev/acmcarther/yesod/experimental/users/acmcarther/examples/grpc_example //experimental/users/acmcarther/examples/grpc_example:example_go_proto
py_binary(
name = "example_client",
srcs = ["example_client.py"],
deps = [
":example_grpc_py_library",
":example_py_library",
requirement("grpcio"),
],
)
py_binary(
name = "example_server",
srcs = ["example_server.py"],
deps = [
":example_grpc_py_library",
":example_py_library",
requirement("grpcio"),
],
)
proto_library(
name = "example_proto",
srcs = ["example.proto"],
visibility = ["//visibility:public"],
)
proto_compile(
name = "example_go_grpc_compile",
output_mappings = [
"example.pb.go=forgejo.csbx.dev/acmcarther/yesod/experimental/users/acmcarther/examples/grpc_example/example.pb.go",
"example_grpc.pb.go=forgejo.csbx.dev/acmcarther/yesod/experimental/users/acmcarther/examples/grpc_example/example_grpc.pb.go",
],
outputs = [
"example.pb.go",
"example_grpc.pb.go",
],
plugins = [
"@build_stack_rules_proto//plugin/golang/protobuf:protoc-gen-go",
"@build_stack_rules_proto//plugin/grpc/grpc-go:protoc-gen-go-grpc",
],
proto = "example_proto",
)
grpc_py_library(
name = "example_grpc_py_library",
srcs = ["example_pb2_grpc.py"],
deps = [
":example_py_library",
"@pip_third_party//grpcio:pkg",
],
)
proto_compile(
name = "example_python_grpc_compile",
outputs = [
"example_pb2.py",
"example_pb2.pyi",
"example_pb2_grpc.py",
],
plugins = [
"@build_stack_rules_proto//plugin/builtin:pyi",
"@build_stack_rules_proto//plugin/builtin:python",
"@build_stack_rules_proto//plugin/grpc/grpc:protoc-gen-grpc-python",
],
proto = "example_proto",
)
proto_py_library(
name = "example_py_library",
srcs = ["example_pb2.py"],
deps = ["@com_google_protobuf//:protobuf_python"],
)
go_library(
name = "example_go_proto",
srcs = [":example_go_grpc_compile"],
importpath = "forgejo.csbx.dev/acmcarther/yesod/experimental/users/acmcarther/examples/grpc_example",
visibility = ["//visibility:public"],
deps = [
"@org_golang_google_grpc//:go_default_library",
"@org_golang_google_grpc//codes",
"@org_golang_google_grpc//status",
"@org_golang_google_protobuf//reflect/protoreflect",
"@org_golang_google_protobuf//runtime/protoimpl",
],
)
go_test(
name = "grpc_example_test",
srcs = ["example_test.go"],
deps = [
":example_go_proto",
"@org_golang_google_grpc//:grpc",
"@org_golang_google_grpc//credentials/insecure",
],
)