-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathBUILD.bazel
98 lines (90 loc) · 3.14 KB
/
BUILD.bazel
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
load("@rules_proto//proto:defs.bzl", "proto_library")
load("@io_bazel_rules_go//proto:def.bzl", "go_proto_library")
load("@io_bazel_rules_go//go:def.bzl", "go_binary", "go_library", "go_test")
load("@bazel_tools//tools/build_defs/pkg:pkg.bzl", "pkg_tar")
load(
"@io_bazel_rules_go//proto:compiler.bzl",
"go_proto_compiler",
)
load(
"@io_bazel_rules_go//proto/wkt:well_known_types.bzl",
"WELL_KNOWN_TYPES_APIV2",
)
load("@bazel_gazelle//:def.bzl", "gazelle")
# gazelle:prefix github.com/prysmaticlabs/protoc-gen-go-cast
gazelle(name = "gazelle")
go_proto_compiler(
name = "go_cast",
plugin = ":protoc-gen-go-cast",
visibility = ["//visibility:public"],
deps = [
"@org_golang_google_protobuf//proto:go_default_library",
"@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
"@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
],
)
go_proto_compiler(
name = "go_cast_grpc",
options = [
"plugins=grpc",
"silent=true",
],
plugin = ":protoc-gen-go-cast",
visibility = ["//visibility:public"],
deps = [
"@org_golang_google_grpc//:go_default_library",
"@org_golang_google_grpc//codes:go_default_library",
"@org_golang_google_grpc//status:go_default_library",
"@org_golang_google_protobuf//proto:go_default_library",
"@org_golang_google_protobuf//reflect/protoreflect:go_default_library",
"@org_golang_google_protobuf//runtime/protoimpl:go_default_library",
],
)
go_library(
name = "go_default_library",
srcs = [
"cast.go",
"grpc.go",
"main.go",
],
importpath = "github.com/prysmaticlabs/protoc-gen-go-cast",
visibility = ["//visibility:public"],
deps = [
"@io_bazel_rules_go//proto/wkt:descriptor_go_proto",
"@org_golang_google_protobuf//cmd/protoc-gen-go/internal_gengo:go_default_library",
"@org_golang_google_protobuf//compiler/protogen:go_default_library",
"@org_golang_google_protobuf//types/descriptorpb:go_default_library",
"@org_golang_google_protobuf//encoding/protojson:go_default_library",
"@org_golang_google_protobuf//reflect/protoregistry:go_default_library",
"@org_golang_x_tools//go/ast/astutil:go_default_library",
],
)
go_binary(
name = "protoc-gen-go-cast",
embed = [":go_default_library"],
visibility = ["//visibility:public"],
deps = WELL_KNOWN_TYPES_APIV2,
)
proto_library(
name = "test_proto",
srcs = ["test.proto"],
visibility = ["//visibility:public"],
deps = ["@com_google_protobuf//:descriptor_proto"],
)
go_proto_library(
name = "test_go_proto",
compilers = [":go_cast_grpc"],
importpath = "github.com/prysmaticlabs/protoc-gen-go-cast/test",
proto = ":test_proto",
visibility = ["//visibility:public"],
deps = [
"@com_github_prysmaticlabs_go_bitfield//:go_default_library",
"@com_github_golang_protobuf//proto:go_default_library",
"@org_golang_google_protobuf//types/descriptorpb:go_default_library",
],
)
go_test(
name = "go_default_test",
srcs = ["cast_test.go"],
embed = [":go_default_library"],
)