Использование общего внешнего пакета для файлов прото? - PullRequest
0 голосов
/ 03 декабря 2018

У нас есть несколько проектов, которые зависят от общих типов общения.Группы решили использовать совместно используемый пакет с этими типами и хотели бы использовать буферы протокола для этой реализации.Если это имеет значение, язык Go, и все эти проекты не являются общедоступными.

Как мы можем использовать типы буферов протокола, не определенные в нашем проекте?Я не могу найти способ поделиться полностью внешними типами среди приложений.Все, что я читаю, объясняет, как использовать файлы подпакета .proto, но не типы, определенные другим разработчиком / командой в другом проекте в вашем проекте.

Ответы [ 2 ]

0 голосов
/ 03 декабря 2018

Создайте репозиторий для вашего нового пакета (автоматически генерируется из файлов .proto).Т.е.:

protoc --go_out=$GOPATH/your/git/repo /path/to/your/schema.proto

Убедитесь, что вы git push репо.

Затем на внешних проектах, которые должны его использовать, просто включите:

import "your/git/repo/schema/yourStruct"
0 голосов
/ 03 декабря 2018

Вы можете использовать protoc и указать путь включения, например:

protoc -I/usr/local/include -I. \
-I${GOPATH}/src \
-I${GOPATH}/src/github.com/grpc-ecosystem/grpc-gateway/third_party/googleapis \
--go_out=$DST_DIR \ 
my-proto.proto

Надеюсь, что эта помощь

...