генерировать файлы go на основе protobuf через импорт

У меня есть два репозитория git:

общее это хранилище содержит Protobuf файлы (.proto), эти файлы должны быть выбраны с помощью Git подмодуль инициализации из другого хранилища поставщика. Также существуют файлы go с директивой: // go: generate protoc --proto_path = a / xxx --go_out =. --go_opt = paths = source_relative a / xxx / b.proto

main этот репозиторий содержит основной проект, который импортирует пакет из файла common. Затем я вызываю git submodule update --init и go generate. После генерации я вижу журнал: go: find github.xxx.com/xxx latest

но основной файл go показывает некоторые проблемы: сборка github.xxx.com/main: не удается загрузить github.xxx.com/xxx/proto: модуль github.xxx.com/common@latest найден, но не содержит пакета github.xxx.com / xxx / proto

Кажется, что команда go generate не генерирует прото-файлы. Думаю, если что-то импортирую, то эти файлы где-то в кеше. Я не уверен, что мой подход возможен.

Не могли бы вы сказать, возможно ли это решение или что мне следует изменить.

1 ответ

Хорошо , мое решение - это такой макет проекта: https://github.com/golang-standards/project-layout

там у меня больше файлов main.go внутри папки cmd. Таким образом, у меня есть только один модуль, и внутри модуля у меня могут быть разные приложения. Считаю это очень крутым решением.

Другие вопросы по тегам