15

有没有办法在 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 文档似乎对如何执行此操作不是很清楚,但我确信可以在其他目标中调用目标,因为它必须是一种非常常见的做事方式。非常感谢。

4

2 回答 2

28

好的,经过一番搜寻后,我找到了答案。您可以使用 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

于 2011-07-16T14:59:29.457 回答
15

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

<target name="cleanbuild" description="Runs a clean dev build" depends="clean, prepare, build, runtests"></target>
于 2011-07-17T21:36:58.393 回答