0

build.xml在 Ant 中,如果在复制文件时没有发生特定令牌的令牌替换,那么有没有人知道一种简洁的方法来解决失败。即,在文件中找不到令牌,因此没有被替换。

这背后的想法是,在某些情况下,替换某些标记可​​能对标记化文件至关重要,因此值得验证这些标记是否存在于文件中 - 默认情况下,如果标记不存在,Ant 将不执行任何操作不在那里。

我查看了文档filterfilterset但如果搜索的令牌不存在,它们似乎没有失败的属性。

也许这可以通过正则表达式任务来检查令牌是否存在。人们能想到更简洁的方法吗?

4

1 回答 1

2

你绝对可以这样做:

蚂蚁过滤 - 如果未设置属性则失败

<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"/>

杰森戴的所有权利

dovetalk 解决方案也很好:

<fail unless="my.property">
    Computer says no. You forgot to set 'my.property'!
</fail>
于 2012-12-19T16:40:16.450 回答