一、概述
waitfor是Ant的内置任务,会阻塞执行,直到一组条件变为真。可以与parallel任务一起使用来同步一组进程。等待的条件在内嵌元素中定义,如果指定了多个条件,那么直到所有条件为真时,才会继续执行。如果maxwait和maxwaitunit属性没有设置,maxwait默认为3分钟(180000毫秒)。如果设置了timeoutproperty属性, 那么当指定时间内条件没有变为真的话,会创建一个timeoutproperty指定名字的属性。
二、属性
maxwait:在任务失败之前等待条件变为真之前最大等待时间,默认为180000毫秒。
maxwaitunit:说明maxwait属性的时间单位。默认是millisecond。可用的值为:millisecond、second、minute、hour、day、week。
checkevery:每个条件测试的等待时间,默认为500checkeveryunit。
checkeveryunit:说明checkevery属性的时间单位。默认是millisecond。可用的值为:millisecond、second、minute、hour、day、week。
timeoutproperty:当超过了最大等待时间后要设置属性的属性名。
三、简单示例
<project>
<echo>waitting for create file</echo>
<waitfor maxwait="6" maxwaitunit="second" timeoutproperty="nofile">
<available file="a.txt"/>
</waitfor>
<echo>${nofile}</echo>
</project>