Мы используем Ivy в течение нескольких месяцев, и у нас есть собственный хостинг "Ivy Repo" на веб-сервере здесь, в офисе. Все наши проекты настроены на переход в это репо для разрешения зависимостей.
У нас есть несколько JAR-файлов обычного типа, которые используются во многих наших проектах. Из-за этого и поскольку у нас есть только 1 репо, мы обнаруживаем много уродливых накладных расходов, связанных со следующим сценарием:
Это становится нелепым и болезненным для нашей команды.
Для меня очевидным решением является предоставление целей ant в каждом проекте, которые позволяют разработчику публиковать / разрешать локально (в свою файловую систему и из нее). Таким образом они могут 9 раз сломать Common jar до воскресенья, не теряя 2–4 дня на ожидание публикации Common. Таким образом, разработчик вносит локальные изменения как в Project 1, так и в Common, а код сразу проходит весь процесс продвижения.
Я знаю, что это возможно с Айви, но я так новичок в этом, что даже не знаю, с чего начать.
В настоящее время мы используем глобальный файл ivy.settings
для всех проектов. В файле настроек мы используем преобразование цепочки, в котором есть 1 преобразователь URL, который подключается к нашему «репозиторию плюща».
Я полагаю следующее изменение, которое будет необходимо, но я не уверен на 100%:
ivy.settings
нам нужно будет добавить преобразователь локальной файловой системы до вызова преобразователя URL-адресов; таким образом мы проверяем локальную файловую систему на наличие зависимостей перед тем, как перейти к репозиторию ivy (веб-серверу) ivy.xml
с опцией, позволяющей каким-то образом публиковать локальный кеш. локально опубликовать
, которая реализует упомянутую выше опцию Я полагаю , что эти изменения позволят нам: (1) всегда искать локально зависимости, прежде чем искать веб-сервер, (2) опубликовать локально как вариант сборки (цель).
Если это неправда, или если я пропускаю какие-либо шаги, , пожалуйста, сообщите! В противном случае я, вероятно, смогу понять, как добавить преобразователь файловой системы из документации Ivy, но понятия не имею, как заставить работать цель publish-locally
. Любые идеи? Заранее спасибо!