2009-10-28 10 views
12

यदि कोई फ़ाइल मौजूद नहीं है, तो मैं बिल्ड को कैसे रोक सकता हूं और उपयोगकर्ता को सूचित कर सकता हूं? मुझे पता है कि यदि कोई फ़ाइल मौजूद है, तो मैं संपत्ति सेट करने के लिए उपलब्ध कार्य का उपयोग कर सकता हूं, लेकिन मुझे यकीन नहीं है कि मैं कैसे निर्माण रोकूं और कुछ गूंजूँगा।मैं कैसे जांच सकता हूं कि फ़ाइल मौजूद है या नहीं, और यदि निर्माण को मार नहीं है?

यदि संभव हो तो मैं कोर कार्यों के साथ रहना चाहूंगा।

उत्तर

16

आप अपनी सभी असफल आवश्यकताओं के लिए fail task का उपयोग कर सकते हैं। उस पृष्ठ पर पिछले उदाहरण वास्तव में काफी आपको क्या चाहिए

<fail message="Files are missing."> 
    <condition> 
     <not> 
      <resourcecount count="2"> 
       <fileset id="fs" dir="." includes="one.txt,two.txt"/> 
      </resourcecount> 
     </not> 
    </condition> 
</fail> 
+0

कमाल कैसे हमेशा एक और काम है कि मैं के बारे में कभी नहीं सुना है वहाँ। धन्यवाद। – Steve

6

अपनी संपत्ति निर्धारित करें और यदि विशेषता के साथ Fail कार्य का उपयोग करें।

+0

'if' विशेषता किसी संपत्ति के * अस्तित्व * के लिए जांचती है, न कि उसका मूल्य। –

12

एक छोटी सी सरल (काश यह सरल बनाया जा सकता है)

<fail message="file ${myfile} not set or missing"> 
    <condition> 
     <not> 
      <available file="${myfile}" /> 
     </not> 
    </condition> 
</fail> 
+0

बहुत साफ और समझने में आसान – Miek

2

यह और अधिक दृढ़तापूर्वक किया जा सकता है (के रूप में जेसन Punyon द्वारा इंगित)। विशेष रूप से, फ़ाइल आप चाहते हैं यह सोचते हैं, संपत्ति file में है:

<available file="${file}" property="file.exists" /> 
<fail message="File missing: ${file}" unless="file.exists" /> 
+0

मुझे लगता है कि असफल विशेषता पर जब तक शर्त अधिक पठनीय और दीर्घकालिक रखरखाव योग्य नहीं है। – Sanity1123

संबंधित मुद्दे

 संबंधित मुद्दे