1load("@my_rules_go//go:def.bzl", "go_test") 2load("@my_rules_go//proto:def.bzl", "go_grpc_library", "go_proto_library") 3 4proto_library( 5 name = "foo_proto", 6 srcs = ["foo.proto"], 7 deps = [ 8 "@protobuf//:empty_proto", 9 ], 10) 11 12go_proto_library( 13 name = "foo_go_proto", 14 importpath = "example.com/foo_proto", 15 proto = ":foo_proto", 16) 17 18go_test( 19 name = "foo_proto_test", 20 srcs = ["foo_proto_test.go"], 21 deps = [":foo_go_proto"], 22) 23 24go_grpc_library( 25 name = "foo_go_grpc", 26 importpath = "example.com/foo_proto", 27 protos = [":foo_proto"], 28) 29 30go_test( 31 name = "foo_grpc_test", 32 srcs = ["foo_grpc_test.go"], 33 deps = [ 34 ":foo_go_grpc", 35 "@org_golang_google_grpc//:grpc", 36 "@org_golang_google_grpc//credentials/insecure", 37 ], 38) 39 40go_proto_library( 41 name = "foo_go_proto_gogo", 42 compilers = ["@my_rules_go//proto:gogo_proto"], 43 importpath = "example.com/foo_proto", 44 protos = [":foo_proto"], 45) 46 47go_test( 48 name = "foo_proto_gogo_test", 49 srcs = ["foo_proto_test.go"], 50 deps = [":foo_go_proto_gogo"], 51) 52