列出项目中的 Phing 目标
随项目一起提供Phing构建文件是允许项目某些方面自动化的好方法。唯一的问题是用户不会知道构建文件中的内容,除非他们打开它或只是运行它。您可以随构建文件一起提供文档,以便用户知道该文件的用途,但更好的方法是列出项目中可用的目标。这可以通过使用-l(小写L)或list标志轻松完成,这将仅列出提供的构建文件中的可用目标。
在构建文件上运行它会从具有两个目标的构建文件中产生这种输出,其中一个作为默认目标运行。
Default target: ------------------------------------------------------------------------------- build Build the project. Main targets: ------------------------------------------------------------------------------- dosomething This target does something.
列表标志使用来自项目中目标的信息来生成此列表。目标的名称属性用于标记每个目标,每个目标的描述用于给出目标函数的描述。这就是为什么向目标添加描述很有用的原因。
与其使用构建文件的默认目标启动具有潜在危险的东西,不如提供一个不做那么多事情的默认目标。项目的新用户(以及Phing)可能只是运行构建文件来查看它的作用。您可以打印出用户可以使用的Phing目标及其描述的列表,而不是打印出建议用户阅读构建文件以获取更多信息的消息。这可以通过使用exec任务使用同一构建文件上的列表标志从项目本身调用Phing程序来轻松完成。如果没有给出目标名称,以下构建文件将打印出项目中可用目标的列表。
Please select a target. ${phing_targets} Running target....
这将产生以下输出。
[email protected]:/var/www/project$ phing -f scripts/build.xml Buildfile: /var/www/project/scripts/build.xml projectbuild > default: [echo] Please select a target. [echo] Buildfile: /var/www/project/scripts/build.xml Default target: ------------------------------------------------------------------------------- default The default target used when no arguments have been given. Main targets: ------------------------------------------------------------------------------- default The default target used when no arguments have been given. dosomething This target does something BUILD FINISHED Total time: 0.1888 seconds
如果用户要运行构建文件而不检查它首先做了什么,这种方法提供了更多信息并且对用户来说更安全。