#gradle #protocol-buffers #grpc
#gradle #буферы протокола #grpc
Вопрос:
Я хотел бы скомпилировать свои файлы grpc / proto с помощью gradle. Java, Kotlin (protobuf amp; gRPC) работает отлично. Для Go я могу скомпилировать protobuf только без части gRPC. Плагин protocol-gen-go, похоже, доступен артефактом протокола. Однако я не смог найти никакой информации о получении плагина gRPC-go путем добавления зависимости в мой build.gradle.
Любой намек очень ценится.
Ответ №1:
Поддержка gRPC была удалена из protocol-gen-go
версии v1.20.0 в соответствии с примечаниями к выпуску:
Версия v1.20 protocol-gen-go не поддерживает генерацию определений служб gRPC. В будущем генерация сервисов gRPC будет поддерживаться новым плагином protocol-gen-go-grpc, предоставляемым проектом Go gRPC.
В github.com/golang/protobuf версия protocol-gen-go продолжает поддерживать gRPC и будет продолжать делать это в обозримом будущем.
https://github.com/protocolbuffers/protobuf-go/releases/tag/v1.20.0#v1.20-grpc-support
Предусмотрены две альтернативы.
- Установить
protocol-gen-go-grpc
из https://github.com/grpc/grpc-go .
go get -u google.golang.org/grpc/cmd/protoc-gen-go-grpc
- Установить
protocol-gen-go
из github.com/golang/protobuf (в отличие от одного github.com/protocolbuffers/protobuf-go ).
go get -u github.com/golang/protobufv/protoc-gen-go
Однако второй вариант не рекомендуется, поскольку эти модули фактически устарели.
Он был заменен google.golang.org/protobuf модуль, который содержит обновленный и упрощенный API, поддержку отражения protobuf и множество других улучшений. Мы рекомендуем, чтобы новый код использовал google.golang.org/protobuf модуль.
go get
Возможно, потребуется изменить эти команды для поддержки gradle.
Комментарии:
1. Спасибо! Это помогает. Я попытаюсь запустить
go get
из gradle, чтобы все заработало.