генерировать файлы 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. Таким образом, у меня есть только один модуль, и внутри модуля у меня могут быть разные приложения. Считаю это очень крутым решением.