我的要求是,使用等待条件, Ant 应该定期检查日志文件中是否显示字符串“构建成功”。如果找到该字符串,则应执行特定操作。
最佳答案
以下是您可以执行此操作的一种方法的示例:
<target name="wait-for">
<waitfor maxwait="15" maxwaitunit="second" timeoutproperty="build.timeout">
<resourcecontains resource="build.log" substring="Build Successful" />
</waitfor>
<antcall target="build-success" />
</target>
<target name="build-success" depends="build-fail" unless="build.timeout">
<echo message="Success" />
</target>
<target name="build-fail" if="build.timeout">
<echo message="Fail" />
</target>
使用
resourcecontains
在命名资源中查找字符串的条件 - 在本例中为文件“build.log”。如果在规定的时间内没有找到,
build.timeout
属性设置。有两个目标,一个是要运行的如果找到字符串,则另一个如果没有。 'target' attributes
if
, unless
, 和 depends
用于使 if-else 逻辑需要。如果你只需要在成功或失败的情况下采取行动,你可以稍微简化一下。
关于ant - 使用 ant,检查是否在文件中找到特定字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4374137/