Come posso ottenere un elenco di target di build in Ant?


193

La mia base di codice ha un lungo build.propertiesfile scritto da qualcun altro. Voglio vedere gli obiettivi disponibili disponibili senza dover cercare manualmente il file. Ant ha un comando per questo - qualcosa del genere ant show-targets- che lo farà elencare tutte le destinazioni nel file di build?

Risposte:


265

L' opzione -po -projecthelpfa esattamente questo, quindi puoi semplicemente provare:

ant -p build.xml

Dalla riga di comando della formica documentazione :

L' -projecthelpopzione stampa un elenco delle destinazioni del file di build. I target che includono un descriptionattributo sono elencati come "Target principali", quelli senza un descriptionsono elencati come "Altri target", quindi viene elencato il target "Predefinito" ("Altri target" vengono visualizzati solo se non ci sono target principali o se Ant viene richiamato in modalità -verboseo -debug).


35
Per renderlo predefinito solo quando invochi ant, crea un target simile <target name="help"> <java classname="org.apache.tools.ant.Main"> <arg value="-projecthelp" /> <arg value="-buildfile" /> <arg value="${ant.file}" /> </java> </target>e fai "aiutare" il target predefinito nel tuo progetto.
sschuberth,

18
Penso che valga la pena notare che ant -pmostrerà solo obiettivi con descrizioni. Per mostrare ogni destinazione associata a un build.xmlfile, è necessario eseguire ant -p -vanche, ant -p build.xmlè ridondante. ant -pfarà la stessa cosa, e se non sei nella build.xmldirectory, dovrai ant -p -buildfile path/to/build.xmlcomunque usare .
Andrew,

1
la target name="help"cosa funziona bene, ma non quando viene eseguita all'interno dell'ambiente Eclipse Ant (si blocca, ma -diagnosticso altri sono ok con esso) :-( (no vm fork, Kepler con ant 1.8.4 (2014-05-22) e anche provato con ant 1.9.4 (29-04-2014)) (solo se ti chiedi ... stavo creando un env di formica autonomo che mi piacerebbe testare in Eclipse ... ovviamente ho il mio Ant View lì)
Andreas Dietrich,

34

Per ottenere tutte le destinazioni nel file di build

form -p -verbose


1
dobbiamo usare -p combinato con -v Se abbiamo bisogno di tutti i target (per tutti i target intendo anche i target senza descrizione in essi). se sono richiesti solo i target principali (per target principali intendo quelli con la descrizione in essi) usare solo -p fa il trucco.
Scade il

2
Non riuscivo a vedere gli obiettivi di cui avevo bisogno solo con -p, questo funziona perfettamente.
JacopKane,

15

L' opzione -po -projecthelpfa esattamente questo, quindi puoi fare:

ant -p build.xml

Puoi creare un obiettivo per invocare questo come:

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

che puoi quindi impostare come predefinito, quindi basta digitare ant per elencare le destinazioni disponibili.

(Combinando la risposta di @Grodriguez e il commento di @ sschuberth - ho pensato che valesse la pena rispondere da sola)


5
piccolo suggerimento. imposta come obiettivo "aiuto". Di conseguenza, l'esecuzione di "formica" invocherà il target "help" che stamperà tutti i target disponibili.
user1697575

0

È possibile controllare l'elenco di target e target predefinito in build.xml con il comando seguente

ant -p built.xml

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.