我在编写自定义协议(protocol)插件时遇到了麻烦。我发布了这个question但没有回应。至少请让我知道几个问题的答案。我真的需要这样做。我还没有迈出第一步。
从此question ,他们如何将 shell 脚本与插件名称 protoc-gen-code 链接起来。
java -cp ./codegen.jar CodeGeneratorMain "$@"
关于问题和 google proto buffer 文档中的上述实现,路径中到底有什么..它是 Shell 脚本的路径吗? shell脚本会被命名为protoc-gen-code吗?
有人可以回答这些问题吗?
最佳答案
protoc
可以通过一次调用生成多种不同语言的代码。指定所需语言的方法是使用 --LANG_out
形式的命令行参数,其中 LANG
是您所需的语言。所以 --cpp_out
为您提供 C++ 代码、目录,--js_out
为您提供 JavaScript 等。如果 protoc
无法识别 LANG
然后它会查找名为 protoc-gen-LANG
的插件并将其用作代码生成器。
shell 脚本可以任意调用。假设您将其命名为 mygen.sh
并且您决定使用 mylang
作为 LANG。然后 protoc
调用如下所示:
protoc --plugin=protoc-gen-mylang=/path/to/mygen.sh --mylang_out=/some/dir some.proto
关于java - 自定义 protobuf CodeGenerator 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62205553/