2013-04-01 44 views
0

我使用以下代码来解析所有PHP包含并创建一个静态html文件。当这样做,我想删除源php文件:如何确保在进一步执行之前完成apache-ant应用任务

<apply executable="php" parallel="false" dir="${prod.dir}" output="${prod.dir}/index.html"> 
    <fileset dir="${prod.dir}" includes="index.php"/> 
</apply> 
<delete file="${prod.dir}/index.php"/> 

显然,index.php被删除,而php运行。我怎样才能确保删除任务只在PHP完成后执行?

我知道我可以等待一秒钟左右,但宁愿不想依赖于此。

感谢 斯特凡

+0

在后台运行或前台运行php吗? – Jayan

+0

我只是通过在终端中调用ant来运行build.xml文件,或者通过执行一个shell脚本来调用ant。在大约5%的情况下,只有源php文件的第一部分得到处理,这使我认为它在处理时被删除。正如你所说,默认情况下spawn是错误的。我对它进行了明确的测试,但目前无法证明这可以解决问题。 – Stefan

回答

0

如果属性spawn设置为false(默认为false),那么蚂蚁应该等到它是完整的。 delete只有在php完成后才会被调用。

Apply task manual

+0

谢谢恩。问题再也没有发生过。我想还有其他事情正在发生,但没有花更多时间。你回答匹配文档。 – Stefan

相关问题