如何在Phing中对目标进行分组?

时间:2011-07-16 12:13:14

标签: php phing

有没有办法在Phing中对目标进行分组?我有许多目标可以通过以不同的顺序和组合运行它们来重用。例如,要创建一个新的开发构建:

$ phing clean
$ phing prepare
$ phing build
$ phing runtests

或者从repo更新开发构建:

$ phing update
$ phing runtests

有没有办法将这些目标分组以单个命令运行它们?我知道你可以链接目标,例如:

$ phing clean prepare build runtests
$ phing update runtests

但理想情况下我想运行一个命令,例如:

$ phing cleanbuild

这将运行所有四个目标。这样,构建文件可以分离成可重用的目标。创建执行此操作的新目标将导致现有目标的代码重复。我知道你可以使用depends参数来执行其他目标,但我希望每个目标彼此独立。

Phing文档对于如何做到这一点似乎并不十分清楚,但我确信可以在其他目标中调用目标,因为它必须是一种非常常见的做事方式。非常感谢。

2 个答案:

答案 0 :(得分:27)

好的,经过一段时间的狩猎,我找到了答案。您可以使用PhingCallTask​​任务从其他目标内部调用目标。复合任务的一个示例:

<target name="cleanbuild" description="Runs a clean dev build">
    <phingcall target="clean" />
    <phingcall target="prepare" />
    <phingcall target="build" />
    <phingcall target="runtests" />
</target>

文档在这里:

http://www.phing.info/docs/guide/stable/apbs25.html

答案 1 :(得分:14)

你自己的答案很好。或者您可以使用depends属性并使其更短:

<target name="cleanbuild" description="Runs a clean dev build" depends="clean, prepare, build, runtests"></target>
相关问题