Переопределение переменных среды в скрипте Ant - PullRequest
2 голосов
/ 28 сентября 2011

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

У меня нет переменной среды для ANT_HOME.Я добавляю свою среду CI ANT_HOME в каталог ant-1.7.0, но мне нужно переопределить или сбросить ANT_HOME в каталог ant-1.6.5, чтобы вызываемые мной цели не наследовали ANT_HOME, и исчерпалиПапка 1.7.0.

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

Я использую Cruisecontrol2.8.4 и вышеупомянутые версии ant.

Редактировать:целевые объекты сборки, которые я вызываю, устанавливают свой собственный ANT_HOME в папку 1.6.5, но это игнорируется, поскольку ранее установленный ANT_HOME для вызова cruisecontrol является неизменным

Ответы [ 2 ]

1 голос
/ 02 октября 2011

Вы можете удалить свойства с помощью AntContrib.

В вашем скрипте ant ...

Импортировать AntContrib:

<taskdef resource="net/sf/antcontrib/antlib.xml">
    <classpath>
        <pathelement location="folderwithantcontribjar/ant-contrib-1.0b3.jar"/>
    </classpath>
</taskdef>

Сделайте сброс:

<var name="ANT_HOME" unset="true"/>

Это удаляет ANT_HOME из текущего набора свойств, позволяя установить его снова.

0 голосов
/ 28 сентября 2011

Попробуйте установить атрибут anthome строителя муравьев в вашем файле конфигурации cruisecontrol:

http://cruisecontrol.sourceforge.net/main/configxml.html#ant

Это должно вызвать вашу версию ant, и, вероятно, все вызванные ant-скрипты также будут использовать эту версию.

...