Я настроил наши проекты Eclipse с помощью Ivy и распознавателя URL-адресов, который ищет артефакты и файлы ivy на веб-сервере здесь, в офисе.Все работает прекрасно.
У меня есть несколько проектов, которые являются зависимостями для других проектов, и я бы хотел настроить конфигурацию Ivy, чтобы эти зависимости могли «публиковаться локально», и чтобы последующие проекты, которые зависят отони могут решить их локально.Это позволит разработчику внести изменения в один проект и увидеть, как эти изменения распространяются в другом проекте, который зависит от него;все без необходимости публиковать в нашем официальном (веб-сервере) хранилище.
Сначала я добавил задачу publish-localally в проект (назовем ее DepProj
), которая является зависимостью дляпоследующие проекты:
<target name="publish-locally" depends="clean,dist">
<ivy:publish resolver="local" overwrite="true" pubrevision="${ivy.new.revision}">
<artifacts pattern="${distDir}/[artifact].[ext]" />
</ivy:publish>
</target>
Затем я изменил файл ivy.xml для одного из нижестоящих проектов DepProj
, который называется DownstreamProj
:
<dependency org="ourOrg" name="DepProj" rev="latest.integration" conf="*->*"/>
Теперь я задыхаюсьна соединении двух.Мне нужно настроить наш файл ivy.settings
, чтобы использовать преобразователь файловой системы.Когда DepProj
публикуется локально, вы видите, что сначала он запускает clean
, а затем dist
.Цель dist
создает JAR под DepProj/dist/DepProj.jar
.
Я полагаю, мне нужно указать каким-либо образом преобразователь файловой системы на этот каталог dist
?Но с другой стороны, DepProj
- не единственный проект, с которым я хочу публиковать локально.
У меня есть большинство частей головоломки, у меня просто проблемы с подключением некоторых точек.
Может ли какой-нибудь SOer подтолкнуть меня в правильном направлении?Полезный пример кода всегда очень ценится!Спасибо!