Comment puis-je obtenir une liste des cibles de construction dans Ant?


193

Ma base de code a un long build.propertiesfichier écrit par quelqu'un d'autre. Je veux voir les cibles construites disponibles sans avoir à rechercher manuellement dans le fichier. Ant a-t-il une commande pour cela - quelque chose comme ant show-targets- qui lui fera lister toutes les cibles dans le fichier de construction?

Réponses:


265

L' option -pou -projecthelpfait exactement cela, vous pouvez donc simplement essayer:

ant -p build.xml

À partir de la documentation en ligne de commande de fourmi :

L' -projecthelpoption imprime une liste des cibles du fichier de construction. Les cibles qui incluent un descriptionattribut sont répertoriées comme "Cibles principales", celles sans cible descriptionsont répertoriées comme "Autres cibles", puis la cible "Par défaut" est répertoriée ("Autres cibles" ne sont affichées que s'il n'y a pas de cibles principales, ou si Ant est appelée en mode -verboseou -debug).


35
Pour en faire la antcible par défaut lors de l'appel , créez une cible comme <target name="help"> <java classname="org.apache.tools.ant.Main"> <arg value="-projecthelp" /> <arg value="-buildfile" /> <arg value="${ant.file}" /> </java> </target>et faites de "help" la cible par défaut dans votre projet.
sschuberth

18
Je pense qu'il vaut la peine de noter que ant -pseuls les objectifs qui ont des descriptions seront affichés. Pour afficher chaque cible associée à un build.xmlfichier, vous devez exécuter ant -p -vaussi, ant -p build.xmlest redondant. ant -pfera la même chose, et si vous n'êtes pas dans le build.xmlrépertoire, vous devrez de ant -p -buildfile path/to/build.xmltoute façon utiliser .
Andrew

1
la target name="help"chose fonctionne bien, mais pas lorsqu'elle est exécutée dans l'environnement Eclipse Ant (elle se bloque juste, mais -diagnosticsou d'autres sont d'accord) :-( (pas de vm fork, Kepler avec ant 1.8.4 (2014-05-22) et a également essayé avec ant 1.9.4 (2014-04-29)) (juste si vous vous demandez ... je créais un environnement de fourmi autonome que j'aimerais tester dans Eclipse ... bien sûr, j'ai mon Ant View là)
Andreas Dietrich

34

Pour obtenir toutes les cibles dans le fichier de construction

fourmi -p -verbose


1
nous devons utiliser -p associé à -v Si nous avons besoin de toutes les cibles (par toutes les cibles, j'entends également les cibles sans description). si Seules les cibles principales sont requises (par les cibles principales, je veux dire celles qui contiennent une description) en utilisant -p seul fait l'affaire.
Wills

2
Je ne pouvais pas voir les cibles dont j'ai besoin avec seulement -p, cela fonctionne parfaitement.
JacopKane

15

L' option -pou -projecthelpfait exactement cela, vous pouvez donc faire:

ant -p build.xml

Vous pouvez créer une cible pour invoquer ceci comme:

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

que vous pouvez ensuite définir comme valeur par défaut, il suffit donc de taper ant pour répertorier les cibles disponibles.

(Combinant la réponse de @Grodriguez et le commentaire de @ sschuberth - je pensais que cela valait la peine d'une réponse en soi)


5
petite suggestion. faire de la cible "help" par défaut. En conséquence, l'exécution de "fourmi" invoquera la cible "help" qui affichera toutes les cibles disponibles.
user1697575

0

Vous pouvez vérifier la liste des cibles et des cibles par défaut dans build.xml à l'aide de la commande suivante

ant -p built.xml

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.