在Ant中,如果在复制文件时没有发生特定令牌的令牌替换,那么是否有人知道如何使build.xml
失败的简明方法。即,文件中未找到令牌,因此未被替换。
这背后的想法是,在某些情况下,令牌化文件替换某些令牌可能是至关重要的,因此值得验证这些令牌是否存在于文件中 - 默认情况下Ant只会做什么令牌不存在。
我查看了filter
和filterset
的文档,但如果搜索到的令牌不存在,它们似乎没有失败的属性。
也许可以使用正则表达式任务来检查令牌是否存在。人们可以想到更简洁的方式吗?
答案 0 :(得分:2)
你绝对可以这样做:
ant filtering - fail if property not set
<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"/>
Jason Day的所有权利
dovetalk解决方案也很好:
<fail unless="my.property">
Computer says no. You forgot to set 'my.property'!
</fail>