Ant'de yapı hedeflerinin listesini nasıl alabilirim?


193

Kod tabanımın build.propertiesbaşka biri tarafından yazılmış uzun bir dosyası var. Dosyada manuel olarak arama yapmak zorunda kalmadan, mevcut yerleşik hedefleri görmek istiyorum. Karınca, ant show-targetsbunun için inşa dosyasındaki tüm hedefleri listeleyecek bir komut var mı ?

Yanıtlar:


265

-pYa -projecthelpsadece deneyebilirsiniz seçeneği aynen bunu yapar:

ant -p build.xml

Ant'in komut satırı belgelerinden :

-projecthelpSeçenek inşa dosyanın hedeflerinin listesini yazdırır. Bir descriptionöznitelik içeren hedefler "Ana hedefler", olmayanlar description"Diğer hedefler" olarak listelenir, ardından "Varsayılan" hedef listelenir ("Diğer hedefler" yalnızca ana hedef yoksa veya Karınca -verboseveya -debugmodda çağrılır ).


35
Sadece çağırırken bunu varsayılan yapmak için, projenize antbenzer bir hedef oluşturun <target name="help"> <java classname="org.apache.tools.ant.Main"> <arg value="-projecthelp" /> <arg value="-buildfile" /> <arg value="${ant.file}" /> </java> </target>ve "yardım" ı varsayılan hedef yapın.
sschuberth

18
Bence ant -psadece açıklamaları olan hedefleri gösterecek. Bir build.xmldosyayla ilişkili her hedefi göstermek için , ant -p -vAyrıca, çalıştırmanız gerekir ant -p build.xml. ant -paynı şeyi yapar ve build.xmldizinde değilseniz ant -p -buildfile path/to/build.xml, yine de kullanmanız gerekir .
Andrew

1
target name="help"şey para cezası çalışır, ancak Eclipse Ant ortamında çalıştırıldığında (sadece takılırsa, ama -diagnostics:-( (hayır vm çatal, Kepler karınca 1.8.4 (2014-05-22) ile ve ayrıca denenmiş veya başkalarının onunla Tamam) ant 1.9.4 (2014-04-29)) ile (sadece kendinize sorarsanız ... Eclipse içinde test etmek istediğim bağımsız bir ant env oluşturuyordum ... elbette Ant View'umu aldım orada)
Andreas Dietrich

34

Derleme dosyasındaki tüm hedefleri almak için

karınca -p - aşırı


1
-v ile uyumlu -p kullanmamız gerekir. Tüm hedeflere ihtiyacımız varsa (tüm hedefler tarafından, açıklamaları olmayan hedefler de kastedilmektedir). Sadece ana hedefler gerekliyse (Ana hedefler tarafından, içinde açıklama olanları kastediyorum) tek başına -p kullanmak hile yapar.
Wills

2
Sadece -p ile ihtiyacım olan hedefleri göremedim, bu mükemmel çalışıyor.
JacopKane

15

-pYa -projecthelpbunu yapabilirsiniz seçeneği aynen bunu yapar:

ant -p build.xml

Bunu aşağıdaki gibi çağırmak için bir hedef oluşturabilirsiniz:

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

daha sonra varsayılan olarak ayarlayabilirsiniz, böylece sadece ant yazarak mevcut hedefleri listeler.

(@Grodriguez 'cevabını ve @ sschuberth'in yorumunu birleştirerek - kendi başına bir cevaba değer olduğunu düşündüm)


5
küçük öneri. varsayılan olarak "yardım" hedefi yapın. Sonuç olarak "ant" koşusu, mevcut tüm hedefleri basacak "yardım" hedefini çağırır.
user1697575

0

Build.xml dosyasındaki hedef ve varsayılan hedef listesini aşağıdaki komutla kontrol edebilirsiniz.

ant -p built.xml

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.