Проблема с Custom protobuf CodeGenerator
У меня возникают проблемы с написанием настраиваемого плагина protoc. Я разместил этот вопрос, но ответа не получил. По крайней мере, пожалуйста, дайте мне знать ответы на несколько вопросов. Мне действительно нужно это сделать. Я не сделал самого первого шага.
Из этого вопроса, как они связывают сценарий оболочки с именем плагина protoc-gen-code.
java -cp./codegen.jar CodeGeneratorMain "$ @"
Что касается вышеупомянутой реализации в документации по вопросам и буферам Google, что именно будет на пути.. это путь сценария оболочки? будет ли сценарий оболочки называться protoc-gen-code?
Кто-нибудь может ответить на эти вопросы.
1 ответ
protoc
может сгенерировать код для нескольких разных языков за один вызов. Вы можете указать, какие языки вы хотите, - это использовать аргументы командной строки формы--LANG_out
где LANG
это тот язык, который вам нужен. Так--cpp_out
дает вам код C++, каталог, --js_out
дает вам JavaScript и т. д. Если protoc
не признает LANG
затем он ищет плагин под названием protoc-gen-LANG
и использует его как генератор кода.
Сценарий оболочки можно называть как угодно. Скажем, вы называете этоmygen.sh
и вы решили, что хотите использовать mylang
как LANG. Затемprotoc
вызов выглядит так:
protoc --plugin=protoc-gen-mylang=/path/to/mygen.sh --mylang_out=/some/dir some.proto