Bagaimana saya bisa mendapatkan daftar target bangunan di Ant?

191

Basis kode saya memiliki build.propertiesfile panjang yang ditulis oleh orang lain. Saya ingin melihat target yang dibangun dibangun tanpa harus mencari melalui file secara manual. Apakah semut memiliki perintah untuk ini - sesuatu seperti ant show-targets- yang akan membuatnya daftar semua target dalam file build?

Shwetanka
sumber

Jawaban:

263

The -patau -projecthelpopsi tidak tepat ini, sehingga Anda hanya dapat mencoba:

ant -p build.xml

Dari dokumentasi baris perintah semut :

The -projecthelppilihan mencetak daftar target membangun file. Target yang menyertakan descriptionatribut terdaftar sebagai "Target utama", yang tanpa atribut terdaftar sebagai "Target descriptionlain", maka target "Default" terdaftar ("Target lain" hanya ditampilkan jika tidak ada target utama, atau jika Ant dipanggil dalam -verboseatau -debugmode).

Grodriguez
sumber
35
Untuk menjadikan ini default ketika baru saja memohon ant, buat target seperti <target name="help"> <java classname="org.apache.tools.ant.Main"> <arg value="-projecthelp" /> <arg value="-buildfile" /> <arg value="${ant.file}" /> </java> </target>dan jadikan "bantuan" target default di proyek Anda.
sschuberth
18
Saya pikir perlu dicatat bahwa ant -phanya akan menunjukkan target yang memiliki deskripsi. Untuk menunjukkan setiap target yang terkait dengan build.xmlfile, Anda harus menjalankan ant -p -vJuga, ant -p build.xmlberlebihan. ant -pakan melakukan hal yang sama, dan jika Anda tidak berada di build.xmldirektori, Anda harus ant -p -buildfile path/to/build.xmltetap menggunakannya .
Andrew
1
yang target name="help"hal bekerja dengan baik, tetapi tidak ketika berjalan dalam lingkungan Eclipse Ant (hanya hang, namun -diagnosticsatau orang lain ok dengan itu) :-( (tidak ada garpu vm, Kepler dengan semut 1.8.4 (2014/05/22) dan juga mencoba dengan semut 1.9.4 (2014-04-29)) (hanya jika Anda bertanya pada diri sendiri ... Saya sedang membuat env semut mandiri yang ingin saya uji dalam Eclipse ... tentu saja saya punya Ant View saya. di sana)
Andreas Dietrich
34

Untuk mendapatkan semua target dalam file build

semut -p -verbose

Shweta
sumber
1
kita perlu menggunakan -p cominded dengan -v Jika kita membutuhkan semua target (dengan semua target maksudku target tanpa deskripsi di dalamnya juga). jika Hanya target utama yang diperlukan (dengan target Utama maksudku yang dengan deskripsi di dalamnya) menggunakan -p saja melakukan trik.
Wills
2
Saya tidak bisa melihat target yang saya butuhkan hanya dengan -p, ini berfungsi dengan sempurna.
JacopKane
15

The -patau -projecthelpopsi tidak tepat ini, sehingga Anda dapat melakukan:

ant -p build.xml

Anda dapat membuat target untuk memohon ini seperti:

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

yang kemudian dapat Anda atur sebagai default, jadi semut yang mengetik hanya akan mencantumkan target yang tersedia.

(Menggabungkan jawaban @Grodriguez dan komentar @ sschuberth - saya pikir itu layak untuk dijawab dengan sendirinya)

rjmunro
sumber
5
saran kecil. jadikan target "bantuan" sebagai default. Akibatnya menjalankan "semut" akan memanggil target "bantuan" yang akan mencetak semua target yang tersedia.
user1697575
0

Anda dapat memeriksa daftar target dan target default di build.xml dengan perintah berikut

semut -p built.xml

Jainesh Patel
sumber