मैं चींटी में निर्माण लक्ष्यों की सूची कैसे प्राप्त कर सकता हूं?


192

मेरे कोडबेस में build.propertiesकिसी अन्य व्यक्ति द्वारा लिखी गई एक लंबी फ़ाइल है। मैं फ़ाइल के माध्यम से मैन्युअल रूप से खोजने के लिए उपलब्ध निर्मित लक्ष्यों को देखना चाहता हूं। क्या चींटी के पास इसके लिए एक कमांड है - कुछ ऐसा ant show-targets- जो इसे बिल्ड फ़ाइल के सभी लक्ष्यों को सूचीबद्ध करेगा?

जवाबों:


264

-pया -projecthelpविकल्प वास्तव में यह करता है, तो आप सिर्फ कोशिश कर सकते हैं:

ant -p build.xml

चींटी की कमांड लाइन प्रलेखन से :

-projecthelpविकल्प का निर्माण फ़ाइल के लक्ष्यों की एक सूची प्रिंट करता है। descriptionजिन विशेषताओं में एक विशेषता शामिल है , उन्हें "मुख्य लक्ष्य" के रूप में सूचीबद्ध किया गया है, जिन्हें बिना description"अन्य लक्ष्यों" के रूप में सूचीबद्ध किया गया है, फिर "डिफ़ॉल्ट" लक्ष्य को सूचीबद्ध किया गया है ("अन्य लक्ष्य" केवल तभी प्रदर्शित किए जाते हैं यदि कोई मुख्य लक्ष्य नहीं है, या यदि एंट -verboseया -debugमोड में मंगवाया गया है)।


35
इसे केवल डिक्लेयर करते समय डिफ़ॉल्ट antबनाने के लिए, जैसे कोई लक्ष्य बनाएं <target name="help"> <java classname="org.apache.tools.ant.Main"> <arg value="-projecthelp" /> <arg value="-buildfile" /> <arg value="${ant.file}" /> </java> </target>और अपने प्रोजेक्ट में डिफ़ॉल्ट लक्ष्य को "मदद" करें।
sschuberth

18
मुझे लगता है कि यह ध्यान देने योग्य है जो ant -pकेवल उन लक्ष्यों को दिखाएगा जिनके पास विवरण हैं। किसी build.xmlफ़ाइल से जुड़े प्रत्येक लक्ष्य को दिखाने के लिए , आपको इसे ant -p -vभी चलाने की आवश्यकता है , ant -p build.xmlनिरर्थक है। ant -pएक ही काम करेंगे, और यदि आप build.xmlनिर्देशिका में नहीं हैं , तो आपको ant -p -buildfile path/to/build.xmlवैसे भी उपयोग करने की आवश्यकता होगी ।
एंड्रयू

1
target name="help"बात ठीक काम करता है, लेकिन नहीं जब ग्रहण चींटी वातावरण में चलाने (यह सिर्फ रुक जाता है, लेकिन -diagnosticsया दूसरों ठीक इसके साथ कर रहे हैं) :-( (कोई वी एम कांटा, चींटी 1.8.4 (2014-05-22 साथ केपलर) है और यह भी कोशिश की चींटी 1.9.4 (2014-04-29) के साथ) (बस अगर आप खुद से पूछें ... मैं एक स्टैंडअलोन चींटी एनवी बना रहा था, जिसे मैं ग्रहण के भीतर परीक्षण करना चाहूंगा ... बेशक मुझे मेरा चींटी मिल गया है वहाँ)
एंड्रियास डिट्रीच

34

बिल्ड फ़ाइल में सभी लक्ष्य प्राप्त करने के लिए

ant -p -verbose


1
हमें -p के साथ -p का उपयोग करने की आवश्यकता है -v यदि हमें सभी लक्ष्यों की आवश्यकता है (सभी लक्ष्यों द्वारा मेरा मतलब है कि उनके बिना भी वर्णन किए गए लक्ष्य हैं)। यदि केवल मुख्य लक्ष्य की आवश्यकता होती है (मुख्य लक्ष्यों द्वारा मेरा मतलब है कि उनमें विवरण के साथ) -p का उपयोग करके अकेले चाल चलता है।
विल्स

2
मैं उन लक्ष्यों को नहीं देख सकता जो मुझे केवल -p के साथ चाहिए, यह एकदम सही काम करता है।
जैकोपकेन

15

-pया -projecthelpविकल्प वास्तव में यह करता है, तो आप कर सकते हैं:

ant -p build.xml

आप इसे बनाने के लिए एक लक्ष्य बना सकते हैं:

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

फिर आप डिफ़ॉल्ट के रूप में सेट कर सकते हैं, इसलिए बस टाइपिंग चींटी उपलब्ध लक्ष्यों को सूचीबद्ध करेगी।

(@Grodriguez 'उत्तर और @ sschuberth की टिप्पणी का संयोजन - मुझे लगा कि यह अपने आप में एक उत्तर के लायक है)


5
छोटा सुझाव। डिफ़ॉल्ट के रूप में "मदद" लक्ष्य बनाओ। परिणामस्वरूप "चींटी" दौड़ने से "सहायता" लक्ष्य प्राप्त होगा जो सभी उपलब्ध लक्ष्यों को मुद्रित करेगा।
user1697575

0

आप निम्न कमांड द्वारा build.xml में लक्ष्य और डिफ़ॉल्ट लक्ष्य की सूची देख सकते हैं

ant -p बिल्ट। xml

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.