有没有一种好的方法可以将protobuf编译与go build
命令集成?
goprotobuf"以库和协议编译器插件的形式为谷歌的协议缓冲区提供Go支持"。
goprotobuf库中的README提供了一些不错的信息。
发件人https://code.google.com/p/goprotobuf/source/browse/README#106:
考虑包含的test.proto文件
package example;
enum FOO { X = 17; };
message Test {
required string label = 1;
optional int32 type = 2 [default=77];
repeated int64 reps = 3;
optional group OptionalGroup = 4 {
required string RequiredField = 5;
}
}
要从test.proto和其他一些Go文件构建一个包,请编写如下Makefile:
include $(GOROOT)/src/Make.$(GOARCH)
TARG=path/to/example
GOFILES=
test.pb.go
other.go
include $(GOROOT)/src/Make.pkg
include $(GOROOT)/src/pkg/code.google.com/p/goprotobuf/Make.protobuf