EasyP – тулбокс для работы с ProtoBuf
easyp
– пакетный менеджер, билд-система и линтер для .proto
файлов.
Хоть easyp
и написан на #go 😱, одна из его фишек в том – что вы можете использовать любые плагины для генерации финального кода: он может быть хоть на #python, хоть на #rust.
Если много используете ProtoBuf – обязательно для ознакомления!
Пример конфигурации:
# Секция для правил линтера:
lint:
use:
- DEFAULT
# Секция с зависимостями:
deps:
- github.com/googleapis/googleapis
- github.com/grpc-ecosystem/grpc-gateway@v2.20.0
# Секция для правил сборки и генерации итоговых файлов:
generate:
plugins:
- name: go
out: .
opts:
paths: source_relative
- name: go-grpc
out: .
opts:
paths: source_relative
require_unimplemented_servers: false
Прощайте огромные Makefile
с кучей скриптов для сборки.
Проект: https://github.com/easyp-tech/easyp
Документация: https://easyp.tech