feat: add Go example (#10)
diff --git a/MODULE.bazel b/MODULE.bazel index 2e01155..c4586ca 100644 --- a/MODULE.bazel +++ b/MODULE.bazel
@@ -50,3 +50,5 @@ requirements_lock = "//examples/lang_toolchains:requirements.txt", ) use_repo(pip, "pypi") + +bazel_dep(name = "rules_go", version = "0.48.0")
diff --git a/examples/BUILD b/examples/BUILD index c5925bf..c827f9d 100644 --- a/examples/BUILD +++ b/examples/BUILD
@@ -1,5 +1,6 @@ load("@rules_proto//proto:defs.bzl", "proto_library") load("@rules_python//python:proto.bzl", "py_proto_library") +load("@rules_go//proto:def.bzl", "go_proto_library") package(default_visibility = ["//visibility:public"]) @@ -18,3 +19,9 @@ name = "foo_java_proto", deps = [":foo_proto"], ) + +go_proto_library( + name = "foo_go_proto", + importpath = "example.com/foo_proto", + proto = ":foo_proto", +)
diff --git a/examples/foo.proto b/examples/foo.proto index f9fca4a..465255b 100644 --- a/examples/foo.proto +++ b/examples/foo.proto
@@ -2,6 +2,7 @@ import "google/protobuf/any.proto"; +option go_package = "example.com/foo_proto"; option java_package = "proto"; message Foo {
diff --git a/examples/go/BUILD b/examples/go/BUILD new file mode 100644 index 0000000..5777ee9 --- /dev/null +++ b/examples/go/BUILD
@@ -0,0 +1,7 @@ +load("@rules_go//go:def.bzl", "go_test") + +go_test( + name = "foo_proto_test", + srcs = ["foo_proto_test.go"], + deps = ["//examples:foo_go_proto"], +)
diff --git a/examples/go/foo_proto_test.go b/examples/go/foo_proto_test.go new file mode 100644 index 0000000..114188a --- /dev/null +++ b/examples/go/foo_proto_test.go
@@ -0,0 +1,16 @@ +package proto_test + +import ( + "testing" + + "example.com/foo_proto" +) + +func TestFoo(t *testing.T) { + msg := &foo_proto.Foo{ + Msg: "hello world", + } + if msg.Msg != "hello world" { + t.Fail() + } +}