Skip to content

LeKovr/gogens

 
 

Repository files navigation

gogens

Docker image with a set of golang generators for protobuf-based projects

Why (in russian)

Описание сервиса в .proto позволяет генерить и документацию и множество полезного кода. Используемые для этого генераторы развиваются и регулярно обновляют версии. Когда генераторы ставятся локально и в команде есть несколько разработчиков, может возникнуть ситуация, что у разных разработчиков установлены разные версии генераторов. И они генерят разный код (например, зашивая в него свою версию). В результате коммиты замусориваются (а могут и портиться) не связанными с .proto изменениями сгенерированного кода. Посчитав это проблемой, мы нашли 2 решения:

  1. Добавить версии генераторов в зависимости проекта
  2. Собрать генераторы в образ docker и всей командой его использовать

Проект gogens - вариант решения 2.

Generators

Usage

cd api
make

Result:

  • api/API.md - markdown docs for .proto
  • zgen/ - golang code ** service.pb.go ** service.pb.validate.go - API validator

Thanks

About

Processing .proto for golang project via docker image

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages

  • Dockerfile 96.2%
  • Makefile 3.8%