java - चींटी और उपलब्ध कार्य-क्या होगा यदि कुछ उपलब्ध नहीं है?




ant build (2)

इस व्यवहार का कारण अगर / जब तक-लक्ष्य में लक्ष्य नहीं हैं। इस तरह के एक विशेषता के साथ लक्ष्य को निष्पादित किया जाएगा यदि / जब तक कोई नाम संपत्ति के साथ सेट नहीं किया गया हो। यदि यह गलत पर सेट है या सही पर सेट है, तो कोई फर्क नहीं पड़ता। तो आप एक संपत्ति को सेट करने के लिए (या नहीं) उपलब्ध कार्य का उपयोग कर सकते हैं और इस कार्य निष्पादित (या नहीं) के आधार पर कर सकते हैं। उपलब्ध कार्य से पहले संपत्ति को स्थापित करना कोई हल नहीं है, क्योंकि चींटी में गुण अपरिवर्तनीय हैं, एक बार सेट होने पर उन्हें बदला नहीं जा सकता है।

तीन संभावित समाधान दिए गए हैं, यदि पहले सेट नहीं किए गए मान के लिए एक संपत्ति सेट करें:

  1. आप उपलब्ध कार्य को संयोजन के साथ नहीं उपयोग करते हैं
  2. आप संपत्ति को सेट करने वाला कार्य बनाते हैं, जिसे केवल तभी निष्पादित किया जा सकता है जब गुण अनसेट (कार्य की विशेषता नहीं है)।
  3. कॉल के उपलब्ध होने के बाद आप बस संपत्ति सेट करते हैं जैसा कि संपत्ति को केवल तभी बदल दिया जाएगा जब सेट न किए जाने पर, यह वह काम करेगा जो आप चाहते हैं।

जब मैं कार्य का उपयोग करता हूं, तो संपत्ति केवल तभी सही होती है यदि संसाधन (फ़ाइल कहना) उपलब्ध है। यदि नहीं, तो संपत्ति अपरिभाषित है।

जब मैं संपत्ति के मूल्य को मुद्रित करता हूं, तो यह सच बताता है कि संसाधन उपलब्ध था, लेकिन अन्यथा सिर्फ संपत्ति का नाम प्रिंट करता है।

संसाधन उपलब्ध नहीं है, तो संपत्ति को कुछ मूल्य पर सेट करने का कोई तरीका है? मैंने उपलब्ध जांच से पहले संपत्ति को स्पष्ट रूप से स्थापित करने की कोशिश की है, लेकिन फिर चींटी शिकायत करती है:

[available] DEPRECATED -  used to override an existing property.
[available]   Build file should not reuse the same property name for different values.

<available filepath="/path/to/foo" property="foosThere" value="true"/>
<property name="foosThere" value="false"/>

फ़्यूज़ का असाइनमेंट केवल तब ही सफल होगा जब आपके उपलब्धता जांच से यह पहले से तय नहीं किया गया है।





build