Иерархия поставщиков

Мой проект go состоит из многих компонентов. Каждый компонент имеет свой собственный каталог вендора, который заполняется dep, Поскольку компоненты имеют схожие зависимости, существует огромное дублирование в каталогах поставщиков. Кроме того, поставщики довольно большие: ~20 МБ.
Моя идея состоит в том, чтобы уменьшить размер хранилища, определив общего поставщика в верхней части проекта. project vendor |--component1 |----main.go |----vendor |--component2 |----main.go |----vendor

Каждый компонент должен определять только специфичные для него зависимости. Не предоставлять общие зависимости от каждого dep ensure выполняется на уровне компонентов, мы можем указать, какие пакеты следует игнорировать в файле Gopkg.toml:

ignored = ["github.com/aszecowka/calc"]

Вопрос: кто-нибудь использует этот подход? Есть альтернативы?

Контекстобновления: в моей компании мы исследуем подход monorepo, мы пытаемся консолидировать различные проекты go, но в итоге мы получаем действительно огромный репозиторий - в основном из-за множества каталогов поставщиков

0 ответов

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