在Ant中是否有办法只使用正则表达式搜索文件中的某行,如果匹配则不会得到布尔结果?
我想通过日志文件查看错误行。如果存在错误行,我想执行一些额外的步骤。
在最坏的情况下,我可以使用Script tag但是如果Ant有办法可以避免使用它。
答案 0 :(得分:2)
在Ant文档中进行了一些搜索之后,我想出了一个解决这个问题的方法。获取与正则表达式匹配的文件的长度。如果大于0,请执行额外步骤。
<if>
<length when="greater" length="0">
<fileset file="${build.log}">
<containsregexp expression="\[java\].*error"/>
</fileset>
</length>
<then>
<!-- perform additional steps -->
</then>
</if>
我发现Ant有matches condition但无法使用它,因为我正在使用Ant 1.6.5。
答案 1 :(得分:0)
要使用if标记,您需要在我的情况下使用下面的taskdef:
<taskdef resource="net/sf/antcontrib/antcontrib.properties">
<classpath>
<pathelement location="./ant-contrib.jar"/>
</classpath>
</taskdef>