Shwetanka
Shwetanka

Reputation: 5036

How can I get a list of build targets in Ant?

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?

Upvotes: 210

Views: 76196

Answers (4)

Jainesh Patel
Jainesh Patel

Reputation: 31

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

ant -p built.xml

Upvotes: 3

rjmunro
rjmunro

Reputation: 28076

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)

Upvotes: 16

Shweta
Shweta

Reputation: 922

To get all the targets in the build file

ant -p -verbose

Upvotes: 35

Grodriguez
Grodriguez

Reputation: 21995

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).

Upvotes: 280

Related Questions