Иерархия поставщиков
Мой проект go состоит из многих компонентов. Каждый компонент имеет свой собственный каталог вендора, который заполняется dep
, Поскольку компоненты имеют схожие зависимости, существует огромное дублирование в каталогах поставщиков. Кроме того, поставщики довольно большие: ~20 МБ.
Моя идея состоит в том, чтобы уменьшить размер хранилища, определив общего поставщика в верхней части проекта.
project
vendor
|--component1
|----main.go
|----vendor
|--component2
|----main.go
|----vendor
Каждый компонент должен определять только специфичные для него зависимости. Не предоставлять общие зависимости от каждого dep ensure
выполняется на уровне компонентов, мы можем указать, какие пакеты следует игнорировать в файле Gopkg.toml:
ignored = ["github.com/aszecowka/calc"]
Вопрос: кто-нибудь использует этот подход? Есть альтернативы?
Контекстобновления: в моей компании мы исследуем подход monorepo, мы пытаемся консолидировать различные проекты go, но в итоге мы получаем действительно огромный репозиторий - в основном из-за множества каталогов поставщиков