grpc之Protoc 参数
·
1 基础命令
•–proto_path=src
和-I是一样的
•–go_out=out
表示输出的文件夹,需要我们自己创建
•–go_opt=paths=source_relative
表示按源文件的目录组织输出,也就是" the same relative directory ",
这意味着,会将proto文件相对proto_path指定的基目录,按同样的目录组织,在$go_out上重放一遍
一般都会使用source_relative,否则,就会按照option go_package里面的那个路径生成
2 示例
命令参考:
protoc --proto_path=src --go_out=out --go_opt=paths=source_relative foo.proto bar/baz.proto
上面的这个脚本,会在 out 文件夹生成 foo.pb.go 和 bar/bar.pb.go;
文件名生成规则就是简单的将.proto改成.pb.go
这里,foo.proto相对src就是src/foo.proto, 那么输出也就是out/foo.pb.go
protos="$dir/message/message.proto
$dir/user/user.proto
$dir/gateway/gateway.proto
$dir/enumx/enumx.proto"
protoc -I $dir \
-I $googleapis_dir \
--go_out=$out_dir --go_opt=paths=source_relative \
${protos}
这里, $proto相对于输入$dir,是message/message.proto…
那么在输出$out_dir内,我们也会生成文件夹message/message.pb.go
更多推荐
所有评论(0)