2010-10-12 10 views
177

Mi base de código tiene un archivo largo build.properties escrito por otra persona. Quiero ver los objetivos integrados disponibles sin tener que buscar manualmente el archivo. ¿Tiene la hormiga un comando para esto, algo así como ant show-targets, que lo hará enumerar todos los objetivos en el archivo de compilación?¿Cómo puedo obtener una lista de objetivos de compilación en Ant?

Respuesta

239

La opción -p o -projecthelp hace exactamente esto, lo que sólo puede probar:

ant -p build.xml 

De línea de comandos de la hormiga documentation:

Los -projecthelp opción imprime una lista de objetivos del archivo de construcción . Los objetivos que incluyen un atributo description se enumeran como "Objetivos principales", los que no tienen description se enumeran como "Otros objetivos", luego se incluye el objetivo "Predeterminado" ("Otros objetivos" solo se muestran si no hay objetivos principales, o si se invoca Ant en el modo -verbose o -debug).

+0

Muchas gracias. – Shwetanka

+33

Para que sea el valor predeterminado cuando se invoca a 'ant', cree un destino como ' ' y hacer "ayuda" el destino predeterminado en su proyecto. – sschuberth

+17

Creo que vale la pena señalar que 'ant -p' solo mostrará los objetivos que tienen descripciones. Para mostrar todos los destinos asociados con un archivo 'build.xml', necesita ejecutar' ant -p -v' Además, 'ant -p build.xml' es redundante. 'ant -p' hará lo mismo, y si no está en el directorio' build.xml', necesitará usar 'ant -p -buildfile path/to/build.xml', de todos modos. – Andrew

26

para conseguir todos los objetivos en el fichero de construcción

hormiga -p -verbose

+2

-v da mucha salida. Solo 'ant -p' funciona bien :) –

+1

necesitamos usar -p cominded con -v Si necesitamos todo objetivos (por todos los objetivos me refiero a los objetivos sin descripción en ellos también). si solo se requieren los objetivos principales (por objetivos principales me refiero a los que tienen una descripción en ellos) usando -p solo hace el truco. – Wills

+0

No pude ver los objetivos que necesito con solo -p, esto funciona perfecto. – JacopKane

13

La opción -p o -projecthelp hace exactamente esto, por lo que puede hacer:

ant -p build.xml 

Puede hacer que un objetivo invoque esto como:

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

que luego puede configurar como predeterminado, por lo que al escribir hormiga se enumerarán los objetivos disponibles.

(Combinando respuesta @Grodriguez' y comentario de @ sschuberth - pensé que valía la pena una respuesta por sí mismo)

+4

pequeña sugerencia. hacer que el objetivo de "ayuda" sea el predeterminado. Como resultado, ejecutar "hormiga" invocará el objetivo de "ayuda" que imprimirá todos los objetivos disponibles. – user1697575

Cuestiones relacionadas