Иерархия поставщиков - PullRequest
0 голосов
/ 29 июня 2018

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

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

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

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

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

...