蚂蚁过滤-如果未设置属性,则失败
问题内容:
我有一个build.xml
使用该<copy>
任务复制各种xml文件的蚂蚁。它使用过滤合并build.properties
文件中的属性。每个环境(开发,阶段,生产)都有一个不同的build.properties
存储环境配置。
有时,我们向Spring XML或其他需要更新build.properties
文件的配置文件添加新属性。
如果缺少属性,我希望蚂蚁快速失败build.properties
。也就是说,如果有任何原始@...@
令牌将其放入生成的文件中,则我希望该构建终止,以便用户知道他们需要向其本地build.properties添加一个或多个属性。
内置任务有可能吗?我在文档中找不到任何内容。我将要编写一个自定义的ant任务,但是也许我可以省下点力气。
谢谢
问题答案:
您可以在ant 1.7中结合使用LoadFile
任务和match
条件来执行此操作。
<loadfile property="all-build-properties" srcFile="build.properties"/>
<condition property="missing-properties">
<matches pattern="@[^@]*@" string="${all-build-properties}"/>
</condition>
<fail message="Some properties not set!" if="missing-properties"/>