forked from aaliddell/rules_proto
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathgo_grpc_library.bzl
32 lines (28 loc) · 991 Bytes
/
go_grpc_library.bzl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
load("//go:go_grpc_compile.bzl", "go_grpc_compile")
load("@io_bazel_rules_go//go:def.bzl", "go_library")
load("//go:utils.bzl", "get_importmappings")
def go_grpc_library(**kwargs):
name = kwargs.get("name")
deps = kwargs.get("deps")
importpath = kwargs.get("importpath")
visibility = kwargs.get("visibility")
go_deps = kwargs.get("go_deps", [])
name_pb = name + "_pb"
go_grpc_compile(
name = name_pb,
deps = deps,
transitive = kwargs.pop("transitive", True),
plugin_options = get_importmappings(kwargs.pop("importmap", {})),
visibility = visibility,
)
go_library(
name = name,
srcs = [name_pb],
deps = go_deps + [
"@com_github_golang_protobuf//proto:go_default_library",
"@org_golang_google_grpc//:go_default_library",
"@org_golang_x_net//context:go_default_library",
],
importpath = importpath,
visibility = visibility,
)