2011-02-08 1 views
7

Я хотел бы установить ivy.default.ivy.user.dir для чего-то другого, кроме значения по умолчанию ${user.home}/.ivy2. Я могу сделать это в командной строке сНастройка домашней директории плюща в Ant

ant -Divy.default.ivy.user.dir=${WORKSPACE}/IVYCACHE. Но я бы хотел, чтобы он был установлен без командной строки arg. Я попытался установить это свойство в моем файле build.xml, my common.xml и моем ivysettings.xml. Странная вещь заключается в том, что, по-видимому, он устанавливает кеш-память по умолчанию для этого пути, но подробный вывод говорит о том, что для user.dir нет значения по умолчанию, поэтому он использует путь ${user.home}/.ivy2.

Вот результат, когда я устанавливаю user.dir в файле build.xml. Как ни странно, он устанавливает кэш по умолчанию на пути я использовал для user.dir

 
[ivy:buildlist] No ivy:settings found for the default reference 'ivy.instance'. A default instance will be used 
[ivy:buildlist] Loading jar:file:/usr/local/ant/lib/ivy-2.2.0.jar!/org/apache/ivy/core/settings/ivy.properties 
[ivy:buildlist] searching settings file: trying /home/hudson/.hudson/jobs/Next_CI/workspace/ivysettings.xml 
[ivy:buildlist] searching settings file: trying /home/hudson/.hudson/jobs/Next_CI/workspace/ivyconf.xml 
[ivy:buildlist] searching settings file: trying ivysettings.xml 
[ivy:buildlist] searching settings file: trying ivyconf.xml 
[ivy:buildlist] no settings file found, using default... 
[ivy:buildlist] :: Ivy 2.2.0 - 20100923230623 :: http://ant.apache.org/ivy/ :: 
[ivy:buildlist] jakarta commons httpclient not found: using jdk url handling 
[ivy:buildlist] :: loading settings :: url = jar:file:/usr/local/ant/lib/ivy-2.2.0.jar!/org/apache/ivy/core/settings/ivysettings.xml 
[ivy:buildlist] including url: jar:file:/usr/local/ant/lib/ivy-2.2.0.jar!/org/apache/ivy/core/settings/ivysettings-public.xml 
[ivy:buildlist] no default cache defined: set to /home/hudson/.hudson/jobs/Next_CI/workspace/ivy2/cache 
[ivy:buildlist] including url: jar:file:/usr/local/ant/lib/ivy-2.2.0.jar!/org/apache/ivy/core/settings/ivysettings-shared.xml 
[ivy:buildlist] including url: jar:file:/usr/local/ant/lib/ivy-2.2.0.jar!/org/apache/ivy/core/settings/ivysettings-local.xml 
[ivy:buildlist] including url: jar:file:/usr/local/ant/lib/ivy-2.2.0.jar!/org/apache/ivy/core/settings/ivysettings-main-chain.xml 
[ivy:buildlist] including url: jar:file:/usr/local/ant/lib/ivy-2.2.0.jar!/org/apache/ivy/core/settings/ivysettings-default-chain.xml 
[ivy:buildlist] settings loaded (71ms) 
[ivy:buildlist]   default cache: /home/hudson/.hudson/jobs/Next_CI/workspace/ivy2/cache 

Позже, он утверждает, что user.dir не установлен в любом месте. решительность:

 
[ivy:resolve] Loading jar:file:/usr/local/ant/lib/ivy-2.2.0.jar!/org/apache/ivy/core/settings/ivy.properties 
[ivy:resolve] jakarta commons httpclient not found: using jdk url handling 
[ivy:resolve] :: loading settings :: file = /home/hudson/.hudson/jobs/Next_CI/workspace/common/ivysettings.xml 
[ivy:resolve] no default ivy user dir defined: set to /home/hudson/.ivy2 

Вот мой build.xml линия:

<property name="ivy.default.ivy.user.dir" value="${basedir}/ivy2" /> 

Я попытался добавить эту строку в общую/ivysettings.xml и общего/common.xml не повезло.

+0

Я думаю, что на этот вопрос теперь ответили? Вы попросили его дважды ... См. Http://stackoverflow.com/questions/5019550/can-i-turn-off-the-ivy-cache-all-together/5023172#5023172 –

ответ

5

я добавил ту строку, что вы указали в образцеbuild.xml, представленной в двоичном плющом загрузки и могут увидеть артефакты, загруженные в ivy2 вложенной в папку samples.

... 
<property name="ivy.jar.file" value="${ivy.jar.dir}/ivy.jar" /> 
<property name="ivy.default.ivy.user.dir" value="${basedir}/ivy2" /> 
... 

Я использую плющ 2.2 и муравья 1.8.2. Можете ли вы проверить, работает ли для вас то же самое?

[Изменить]: Из docs,

На самом деле весь муравей свойства импортирован в плюще переменных, когда конфигурация делается (если вы звоните плющ из муравьев). Это означает, что если вы определяете свойство муравья после вызова для настройки, он не будет доступен в качестве переменной плюща.

+0

У нас работает плющ 2.2 и муравей 1.8.1. Не уверен, что вы хотите сказать о попытке линии. Я поместил его в свой файл build.xml верхнего уровня, и он не работает. Возможно, это ошибка в 1.8.1. Я попробую обновить муравей. – user561638

+0

попробовал ant 1.8.2 и до сих пор не видит в нем выходной диск пользователя по умолчанию, и он не помещает туда, где я хочу. – user561638

+0

Я попробовал то, что вы предложили, используя образец файла build.xml, и, конечно же, он работает. Итак, может кто-нибудь дать мне подсказку о том, почему это не удается в моем build.xml? – user561638

3

Переменная окружения ANT_OPTS позволяет установить параметры jvm. Таким образом, вы можете добавить в свой ANT_OPTS тот же аргумент командной строки, с которым вы вызываете скрипт оболочки «ant». Например. под m $ windoozer:

ANT_OPTS=-Divy.default.ivy.user.dir=C:/IVYCACHE 

 Смежные вопросы

  • Нет связанных вопросов^_^