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