Есть ли способ самостоятельно разместить реестр DUB?
Я строю несколько проектов для клиента, и они имеют общий код, который я выделил в отдельные проекты. Я пытаюсь использовать DUB для организации всего этого, но пока не могу понять, как добавить эти общие проекты в качестве зависимостей, не публикуя их на таком сайте, как github, и не регистрируя их в публичном реестре DUB. Публикация этих вещей либо нарушит мой контракт, либо поместит неинтересный спам в реестр DUB (или и то, и другое). Есть ли способ, с помощью которого я могу управлять своим собственным реестром DUB на частном сервере, и иметь на нем график всех обычных общедоступных проектов, а также несколько частных в доступных для локальной сети репозиториях git?
Это избавило бы меня от необходимости создавать множество подмодулей git.:)
Благодарю.
1 ответ
Вы можете самостоятельно разместить реестр дубликатов, используя свой собственный --hostname
параметр на даб-реестре и предоставление собственного --registry
параметр на даб.
Кроме того, вы можете просто использовать свои пакеты локально (или удаленно, если пакеты размещены на сетевом диске). На вики-странице Dub "Cookbook" объясняется, как работать с пакетами, которых нет в реестре: https://github.com/dlang/dub/wiki/Cookbook
Работа с субмодулями или пакетами, которых нет в реестре
Обычной практикой является либо использование проекта в качестве подмодуля git главного проекта, либо использование незарегистрированного проекта в качестве зависимости для разработки. В этой настройке может пригодиться установка зависимости проекта от заданного пути, а не поиска хранилища. Вот пример такой упаковки:
{ "name": "dlang-org", "dependencies": { "libddoc": { "path": "./libddoc" }, "libdparse": { "path": "./libdparse" } } }
Другая возможность - добавить локальный пакет. Это особенно полезно во время разработки, когда вы хотите протестировать пакет с некоторыми библиотеками, использующими этот пакет.
dub add-local myrepo dub list