Как переопределить местоположение кэша Ivy?

Я использую Ivy как часть моей системы непрерывной интеграции, но мне нужно переопределить местоположение по умолчанию, в котором находится область локального кэша Ivy.

Ответ 1

Хотя ответ выше от скаффмана верен, я нашел, что это намного больше работы, чем я ожидал!

Когда я добавил файл ivysettings.xml в проект, мне тогда нужно было переопределить почти все, поскольку значения по умолчанию работали нормально до тех пор.

Итак, я узнал, как добавить новый каталог кеша в строку командной строки в моей NAnt script...

< exec program="java" commandline="... ... -jar ${ivy.jar} -cache ${project.cache} ... ... />

(Где ${ivy.jar} - это местоположение моего .jar файла, а ${project.cache} - новое местоположение, установленное ранее в script, где я хочу использовать область кеша.)

Это означает, что мне не нужен файл ivysettings.xml, и я могу вернуть все обратно к использованию распознавателей по умолчанию и т.д.

Ответ 3

Я использую Jenkins как систему сборки CI и создаю $HOME/.ivy2/ivysettings.xml:

<ivysettings>
    <properties environment="env" />
    <caches defaultCacheDir="${env.WORKSPACE}/.ivy2/cache" />
</ivysettings>

Создайте двуязычный кеш плюща в каждом рабочем пространстве задания jenkins.