我正在修改build.xml以使用Parallel Task,主要是为了加快我们在CI服务器上的构建。
我遇到的一个小问题是阻止输出(stdout)变得混乱。
<target name="build">
<antcall target="clean"/>
<antcall target="prepare"/>
<antcall target="externals"/>
<antcall target="migrate"/>
<parallel>
<antcall target="phpunit"/>
<antcall target="jshint"/>
<antcall target="phploc"/>
<antcall target="phpcpd"/>
<antcall target="pdepend"/>
<antcall target="phpcs"/>
<antcall target="phpmd"/>
<antcall target="php-lint"/>
</parallel>
</target>
输出的片段(来自php-lint&amp; phpunit任务):
[apply] No syntax errors detected in /home/bhafichuk/workspace/icarus/source/library/Icarus/Model/DbTable/User.php
[exec] ............................................................
[exec]
[exec] Time: 02:11, Memory: 24.75Mb
[exec]
OK (123 tests, 433 assertions)
[apply] No syntax errors detected in /home/bhafichuk/workspace/icarus/source/library/Icarus/Model/DbTable/User/Contact.php
我希望有一种方法可以缓冲任务的输出,直到任务完成,然后写入stdout。
请注意,我真的不关心输出与任务的顺序,只是将一个任务输出与其他人交错。
有没有人对如何做到这一点有任何建议?是否有更好的方法可以提高构建速度,而不会导致此问题?