Существует ли репозиторий, содержащий артефакт `protocol-gen-grpc-go`?

#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

Предусмотрены две альтернативы.

  1. Установить protocol-gen-go-grpc из https://github.com/grpc/grpc-go .
 go get -u google.golang.org/grpc/cmd/protoc-gen-go-grpc
 
  1. Установить 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, чтобы все заработало.