Какие-нибудь лучшие практики или инструменты для репозиториев Ivy?
Мы используем Gradle для создания Java-проектов, и в настоящее время у нас есть репозитории Ivy для хранения сторонних артефактов, а также для публикации собственных артефактов (репозиторий строится с использованием скриптов Gant и задач Ivy ANT). но управление репо является основным.
Gradle также может работать с репозиторием Maven, поэтому переключение на менеджер артефактов Maven, например, Archiva или Nexus, возможно, но не обязательно. знаете ли вы какие-либо инструменты или лучшие практики, которые могут помочь нам в создании и поддержке репозиториев Ivy?
просто чтобы быть ясным: мы уже прочитали учебники и многое другое и понимаем, как это сделать, но это все еще необходимо для поддержания.
5 ответов
В прошлом я использовал репозиторий ivy только для небольших частных репозиториев, публикующих артефакты с использованием простых протоколов низкого уровня, таких как FTP-сайт. (Все, что нужно сайту - это версионный макет каталога и файл ivy.xml, описывающий арифакты)
Инфраструктура репозитория на основе Maven теперь настолько распространена, что ее используют многие проекты, поэтому продвигать альтернативный стандарт управления репозиториями практически бессмысленно.
Sonatype (компания, стоящая за Maven) делает свой репозиторий Nexus доступным для всех, потому что каждый заинтересован в том, чтобы держать под контролем требования к ширине полосы для Maven central.
К счастью, Айви хорошо играет с Maven, что означает, что вы можете воспользоваться преимуществами обоих миров.
Я создал запись в блоге о моем макете и выборе хранилища Ivy. У вас могут быть разные требования, но я думаю, что всегда полезно проверять решения других, чтобы получить некоторые идеи...
Существует общественный проект под названием Ivy Roundup, целью которого является создание последовательного, современного репозитория ivy для распространенных сторонних библиотек. Это может быть хорошей идеей, чтобы соответствовать соглашениям об именах, используемым там, или даже лучше, просто получить модули оттуда, используя <ivy:install>
задача
По моему мнению, в репозитории Айви не так много работы, потому что он просто работает. То, что вы не можете сделать с задачами Ivy Ant, вы можете сделать прямо из файловой системы, просто так.
По общему признанию что-то вроде изменения имени артефакта может быть трудным, но опять же, это то, что вы не должны делать в любом случае.
Что я обычно делаю на практике, когда мне нужна сторонняя библиотека, - это искать ее в репозитории MVN и затем нажимать на вкладку "Ivy", чтобы получить зависимость Ivy для моего ivy.xml.