У меня проблемы с пониманием того, как работает latest.integration.
У меня есть пример, который не дает результатов, упомянутых в: http://ant.apache.org/ivy/history/latest-milestone/tutorial/defaultconf.html
в котором говорится, что локальный преобразователь имеет приоритет над другими преобразователями независимо от времени публикации.
Мой ivysettings.xml выглядит так:
<resolvers>
<chain name="download-chain" returnFirst="false" >
<url name="nexus-repo" m2compatible="true" >
<artifact pattern="${nexus}/[organization]/[module]/[revision]/[type]s/[artifact](-[classifier]).[ext]" />
<ivy pattern="${nexus}/[organisation]/[module]/[revision]/[type]s/[artifact].[ext]" />
</url>
<resolver ref="local" />
</chain>
</resolvers>
здесь я заявляю, что у меня есть репозиторий URL-адресов нексуса и ссылка на локальный адрес по умолчанию. Я использую эту цепочку, когда хочу разрешить свои зависимости.
Я создаю обозначенный артефакт и публикую его на локальном компьютере со статусом «интеграция» с ревизией «HEAD» (что-то вроде SNAPSHOT для нас), сначала используя локальный преобразователь:
<ivy:publish
overwrite="yes"
update="true"
artifactspattern="${project.dist.dir}/[artifact]-[revision](-[classifier]).[ext]"
resolver="local"
settingsRef="ivy.nexus"
/>
и перестройте его снова и опубликуйте в репозитории nexus:
<ivy:publish
overwrite="yes"
update="true"
artifactspattern="${project.dist.dir}/[artifact]-[revision](-[classifier]).[ext]"
resolver="publish-url"
forcedeliver="true"
settingsRef="ivy.nexus"
/>
У меня есть другой проект, который объявляет предыдущий артефакт как зависимость от ревизии «latest.integration».
Я ожидаю, что артефакт должен быть загружен из локального репозитория независимо от порядка объявленных преобразователей. Но это не так. Загруженный артефакт всегда относится к резолверу, упомянутому первым. Изменение имени "локального" распознавателя ни на что не повлияло. Порядок всегда имеет значение.
Я пробовал добавить change = "true" к моей зависимости. Это не помогло.
В этом вопросе: Ivy: принудительный локальный снимок для зависимости
Аскер упоминает даже о другом поведении, а именно о том, что выбирается самое последнее (порядок решателей даже не имеет значения).
ТАК, чтобы завершить это и извинить за продление: Как получить артефакт:
1) всегда самая последняя. Интеграция (самая последняя) независимо от местоположения.
2) всегда локально, даже если в других местах есть более свежая версия интеграции.
3) Я настолько невежественен?