складываем сгенерированные?
вот точно скажу что сгенерированное чем-то должно либо где-то отдельно лежать (в отдельной директории), либо иметь суффикс _gen
Радом с proto файлами генерацию складывать норм или не очень?
https://github.com/golang-standards/project-layout можно на это посмотреть и положить в api
мне кажется не очень
Сгенерированные proto файлы по дефолту имеют окончание .pb.go
ну или так, но они 100% должны отличаться от других
При такой структуре, если у меня swagger генериться из proto, то я его должен положить в /api
Уместно ли заводить отдельную репу для proto и генерации?
Есть много подходов, но серебряной пули так и не придумали, везде свои косяки
Типо как buf.build? Пытался настроить чтобы брало proto из репы на гитхабе, но ничего не вышло (ушла 1 ночь)
1. Импорт уже сгенерированного модуля (в папке /service лежит также go.mod), потом в другом сервисе используешь go get repo/gen/service 2. buf.build и хранение proto в отдельной репе (на их сайте), затем можно установить в проект все proto и использовать их (или оставить в репе и автоматом генерить код который переносится в проект) 3. Копирование proto в проект руками и генерация (это самый жесткий и худший вариант| ИМХО команда изменяющая api своего сервиса ответственна за это и не стоит выносить куда то руками proto) Коротко: Все способы схожи, лучший для меня 2 тк автоматизирует все, 1 еще норм и оставляет ответственность команды за теги, 3 худший
Вот, кстати, protoc vs buf? Мнения
Сравниваем из рф или Европы? В первом случае онлайн генерация недоступна
Обсуждают сегодня