【发布时间】:2014-05-14 13:30:13
【问题描述】:
我有一个属性文件 (x.props),其中包含 Ant 构建所需的属性:
x.props:
prop1=something
prop2=somethingElse
在 build.xml 中设置:
<property file="x.props" />
x.props 中包含的属性然后用于路径任务:
<path id="project.class.path">
<pathelement location="${prop1}/important.jar"/>
<pathelement location="${prop2}/anotherImportant.jar"/>
</path>
编译开始之前。我没有在 build.xml 中明确创建这些属性
每个本地用户的 x.props 文件可能不同,但对于服务器构建,它不会改变。
我创建了一个 x.props.template 文件来解决用户不小心签入或更新此文件的问题(但他们需要能够签出)。我希望能够从 x.props.template 创建一个 x.props 文件(我将 x.props 设置为 svn:ignore)。
用户可以将模板文件保存为x.props并对其进行编辑-理论上,如果模板文件不存在,服务器Ant build.xml可以将模板文件复制到服务器x.props。
但这并没有发生。我尝试使用目标:
<target name="x-props-file" unless="prop1" description="create a
local.properties file if it doesn't exist">
<copy file="x.props.template" tofile="x.props" />
</target>
但它是在设置路径之后调用的。
我尝试创建文件作为条件:
<condition available="x.props">
<not>
<copy file="x.props.template" tofile="x.props" />
</not>
</condition>
但 'not' 和 'condition' 不适用于文案。
如果找不到文件,loadProperties 将失败 - 但它不会复制文件。
理想情况下,我希望能够在初始文件加载失败后立即复制新的 x.props。
有没有办法解决这个问题?
蚂蚁版本 1.1 java 7
谢谢
【问题讨论】: