можно отключить .ivy кеш все вместе? - PullRequest
5 голосов
/ 16 февраля 2011

Есть ли способ заставить муравья / плюща не использовать локальный $HOME/.ivy2 кеш?

Ответы [ 2 ]

7 голосов
/ 17 февраля 2011

Я бы создал файл ivysettings.xml и указал местоположение моего кэша, используя директиву caches :

<ivysettings>
    <settings defaultResolver="central"/>
    <caches defaultCacheDir="${ivy.settings.dir}/cache"/>
    <resolvers>
        <ibiblio name="central" m2compatible="true"/>
    </resolvers>
</ivysettings>

Я думаю, что это более явно и менее загадочно, чем установка свойства ivy.default.ivy.user.dir в вашем файле сборки.

Обновление

Используя этот подход, задача ivy cleancache может использоваться для очистки вашего назначенного каталога кэша.

<target name="clean-all" depends="clean">
    <ivy:cleancache />
</target>
3 голосов
/ 16 февраля 2011

В полной книге по плющу вы ознакомились с разделом «Настройка репозиториев»:

Несколько репозиториев используют один и тот же корень в вашей файловой системе. Обозначается как ${ivy.default.ivy.user.dir}, по умолчанию это каталог .ivy2 в вашем домашнем каталоге.

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

  • установить свойство Ant перед любым вызовом Ivy в вашем файле сборки, если вы используете Ivy из Ant
  • установить переменную окружения, если вы используете Ivy из командной строки

Например:

<target name="resolve">
  <property name="ivy.default.ivy.user.dir" value="/path/to/ivy/user/dir"/>
  <ivy:resolve />
</target>

У распознавателя упаковщика также есть некоторые параметры, которые необходимо настроить, чтобы избежать ${home}:

<packager name="ivyroundup"
         buildRoot="/path/to/my/.ivy2/packager/build"
         resourceCache="/path/to/my/.ivy2/packager/cache"
         resourceURL="ftp://mirror.example.com/pub/resources/[organisation]/[module]/">
    <ivy pattern="http://ivyroundup.googlecode.com/svn/trunk/repo/modules/[organisation]/[module]/[revision]/ivy.xml"/>
    <artifact pattern="http://ivyroundup.googlecode.com/svn/trunk/repo/modules/[organisation]/[module]/[revision]/packager.xml"/>
</packager>
...