199
votes

My codebase has a long build.properties file written by someone else. I want to see the available built targets without having to search through the file manually. Does ant have a command for this - something like ant show-targets - that will make it list all the targets in the build file?

4

4 Answers

272
votes

The -p or -projecthelp option does exactly this, so you can just try:

ant -p build.xml

From ant's command line documentation:

The -projecthelp option prints out a list of the build file's targets. Targets that include a description attribute are listed as "Main targets", those without a description are listed as "Other targets", then the "Default" target is listed ("Other targets" are only displayed if there are no main targets, or if Ant is invoked in -verbose or -debug mode).

35
votes

To get all the targets in the build file

ant -p -verbose

15
votes

The -p or -projecthelp option does exactly this, so you can do:

ant -p build.xml

You can make a target to invoke this like:

<target name="help">
    <java classname="org.apache.tools.ant.Main">
        <arg value="-projecthelp" />
        <arg value="-buildfile" />
        <arg value="${ant.file}" />
    </java>
</target>

which you can then set as the default, so just typing ant will list the available targets.

(Combining @Grodriguez' answer and @sschuberth's comment - I thought it was worth an answer by itself)

0
votes

You can check the list of target and default target in build.xml by the following command

ant -p built.xml