मैं ओएस प्रकार द्वारा अलग-अलग चींटी कार्य में एक संपत्ति सेट करना चाहता हूं।ओएस का पता लगाने और संपत्ति सेट करने के लिए चींटी का उपयोग
संपत्ति एक निर्देशिका है, विंडोज़ में मैं इसे "सी: \ फ्लैग" यूनिक्स/लिनक्स "/ ऑप्ट/फ्लैग" में रखना चाहता हूं।
मेरी वर्तमान स्क्रिप्ट केवल तभी काम करती है जब मैं इसे डिफ़ॉल्ट लक्ष्य के साथ चलाता हूं, लेकिन क्यों?
<target name="checksw_path" depends="if_windows, if_unix"/>
<target name="checkos">
<condition property="isWindows">
<os family="windows" />
</condition>
<condition property="isLinux">
<os family="unix" />
</condition>
</target>
<target name="if_windows" depends="checkos" if="isWindows">
<property name="sw.root" value="c:\flag" />
<echo message="${sw.root}"/>
</target>
<target name="if_unix" depends="checkos" if="isLinux">
<property name="sw.root" value="/opt/flag" />
<echo message="${sw.root}"/>
</target>
मेरे सारे चींटी लक्ष्य मैं एक जोड़ दिया है में "निर्भर करता है = checksw_path"।
यदि मैं विंडोज़ में डिफ़ॉल्ट लक्ष्य चलाता हूं तो मुझे सही ढंग से "सी: \ फ्लैग" मिल गया है, लेकिन यदि मैं एक गैर डिफ़ॉल्ट लक्ष्य चलाता हूं तो मुझे पता चला है कि डीबग if_windows में जाता है लेकिन निर्देश "" सेट नहीं होता है संपत्ति जो/ऑप्ट/फ्लैग बनी हुई है। मैं चींटी 1.7.1 का उपयोग कर रहा हूँ।