plugins - 如何创建一个 protobuf go plugin 插件

标签 plugins grpc protoc

https://github.com/golang/protobuf
protoc-gen-go是 protoc 中的一个插件,它为输入 proto 定义生成 go 绑定(bind)。
protoc-gen-go还有一个插件框架,grpc是一个插件插件
https://github.com/golang/protobuf/tree/master/protoc-gen-go/grpc
$ protoc ./helloworld.proto --go_out=plugins=grpc:.
是否有可能我编写自己的插件并与 grpc 插件一起调用它?
$ protoc ./helloworld.proto --go_out=plugins=grpc+myplugin:.
我是否需要强制将我的插件构建到 protoc-gen-go 中?
如果没有,那么 protoc-gen-go 将如何找到 myplugin ?

最佳答案

protoc-gen-go 是一个 protoc 插件。我在下面为自定义工作编写了另一个 protoc 插件的示例。我还使用了调用其他插件的插件。

https://github.com/drekle/protoc-gen-goexample

Protoc 按名称查找这些插件 protoc-gen-<PLUGIN_NAME>它期望在您的路径中是二进制文件,并将解释它传递的参数,例如 --<PLUGIN_NAME>_out而不是 --go_out为您的插件

关于plugins - 如何创建一个 protobuf go plugin 插件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42337393/

相关文章:

eclipse - Eclipse 编辑器的只读属性 View

python - 动态添加路线到 Pyramid

javascript - 在网络上发布解析gRPC错误的问题

node.js - 具有 headless 服务的 kubernetes 上 gRPC(nodejs)的循环

compiler-errors - libprotoc 编译 protoc 文件,但不编译其中包含的其他 protoc(google grpc assistant annotations.pb.h no file or directory error)

java - 在另一个模块中使用自定义 gradle 插件模块

plugins - Neo4j安装APOC插件后重启失败

grpc - 一般转发 GRPC 调用

c++ - grpc编译错误protobuf 3.2.0(文件是用旧版本的protoc生成的)Ubuntu 16.04

python - 训练元图的权重和偏差