如何获取Ant中的构建目标列表?

Shw*_*nka 187 ant

我的代码库有一个build.properties由其他人编写的长文件.我希望看到可用的构建目标,而无需手动搜索文件.蚂蚁是否有这样的命令 - 类似的东西ant show-targets- 它会列出构建文件中的所有目标吗?

Gro*_*uez 257

-p-projecthelp选项正是这样做的,所以你可以只是尝试:

ant -p build.xml
Run Code Online (Sandbox Code Playgroud)

从ant的命令行文档:

-projecthelp选项打印出构建文件目标的列表.包含description属性的目标列为"主要目标",没有a description的目标列为"其他目标",然后列出"默认"目标("其他目标"仅在没有主目标时显示,或者如果Ant在-verbose-debug模式中调用).

  • 要在调用`ant`时将其设为默认值,请创建一个目标,如`<target name ="help"> <java classname ="org.apache.tools.ant.Main"> <arg value =" - projecthelp"/ > <arg value =" - buildfile"/> <arg value ="$ {ant.file}"/> </ java> </ target>`并使"帮助"项目中的默认目标. (34认同)
  • 我认为值得注意的是,'ant -p`只会显示具有描述的目标.要显示与`build.xml`文件关联的每个目标,您需要运行`ant -p -v`此外,`ant -p build.xml`是多余的.`ant -p`会做同样的事情,如果你不在`build.xml`目录中,你还是需要使用`ant -p -buildfile path/to/build.xml`. (17认同)

Shw*_*eta 31

获取构建文件中的所有目标

ant -p -verbose

  • -v提供了很多输出.只是`ant -p`工作得很好:) (2认同)
  • 我只用-p就看不到我需要的目标,这很完美。 (2认同)

rjm*_*nro 15

-p-projecthelp选项正是这样做的,所以你可以这样做:

ant -p build.xml
Run Code Online (Sandbox Code Playgroud)

您可以创建一个目标来调用它:

<target name="help">
    <java classname="org.apache.tools.ant.Main">
        <arg value="-projecthelp" />
        <arg value="-buildfile" />
        <arg value="${ant.file}" />
    </java>
</target>
Run Code Online (Sandbox Code Playgroud)

然后您可以将其设置为默认值,因此只需键入ant即可列出可用目标.

(结合@Grodriguez的回答和@sschube的评论 - 我认为这本身就值得回答)

  • 小建议.将"帮助"目标设为默认值.因此,运行"ant"将调用"帮助"目标,该目标将打印所有可用目标. (4认同)