我遇到一个问题,我的自动构建环境需要一个不同于运行的实际委派脚本的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是不可变的
答案 0 :(得分:1)
您可以使用AntContrib取消设置属性。
在你的蚂蚁脚本......
导入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,允许再次设置它。
答案 1 :(得分:0)
尝试在cruisecontrol配置文件中设置ant构建器的anthome属性:
http://cruisecontrol.sourceforge.net/main/configxml.html#ant
这应该调用你的ant版本,并且可能所有被调用的ant脚本也将使用这个版本。