有没有办法在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文档对于如何做到这一点似乎并不十分清楚,但我确信可以在其他目标中调用目标,因为它必须是一种非常常见的做事方式。非常感谢。
答案 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>
文档在这里:
答案 1 :(得分:14)
你自己的答案很好。或者您可以使用depends
属性并使其更短:
<target name="cleanbuild" description="Runs a clean dev build" depends="clean, prepare, build, runtests"></target>