क्या सशर्त तरीके से चींटी संपत्ति फ़ाइलों (build.xml
के विपरीत) में संपत्ति मूल्य सेट करना संभव है? उदाहरण के लिए, यदि apache.root
संपत्ति सेट की गई है - my_property
${apache.root}/myapp
, /var/www/myapp
अन्यथा होगा। यदि नहीं, तो सामान्य अभ्यास क्या होगा - पुन: प्रयोज्य build.xml
फाइलें?चींटी गुणों की फ़ाइल में सशर्त संपत्ति
उत्तर
condition कार्य का उपयोग करें:
<project name="demo" default="run">
<condition property="my_property" value="${apache.root}/myapp" else="/var/www/myapp">
<isset property="apache.root"/>
</condition>
<target name="run">
<echo message="my_property=${my_property}"/>
</target>
</project>
आप वातावरण या सशर्त चर के आधार पर अलग संपत्ति फ़ाइलों को शामिल कर सकते हैं। उदाहरण
लिए<echo>Building ${ant.project.name} on OS: ${os.name}-${os.arch}</echo>
<property file="build-${os.name}.properties" />
इस 'का निर्माण-विंडोज 7.properties' या 'build-Linux.properties' जहां निर्माण रन किया जा रहा है पर निर्भर करता है नाम की एक फ़ाइल को शामिल किया जाएगा। बेशक संपत्ति निर्देश वर्तमान निर्देशिका के साथ ही घर निर्देशिका में दिखता है। इसलिए संपत्ति फ़ाइल बिल्ड स्रोत का निर्माण या बिल्ड खाते की होम निर्देशिका में हो सकती है।
आप संपत्ति फ़ाइल का नाम का हिस्सा उत्पन्न करने के लिए के रूप में अच्छी हालत टैग का उपयोग
हालत आप उपयोग कर सकते हैं का सबसे सरल रूप में से एक को चुनने के लिए कर सकते हैं:
<exec executable="hostname" outputproperty="hostname"/>
<condition property="python" value="/usr/bin/python3.4">
<equals arg1="${hostname}" arg2="host0"/>
</condition>
<property name="python" value="/usr/bin/python"/>
अलग समायोजित करने के लिए उदाहरण के लिए पायथन स्थापना पथ। यहां, मेजबान 0 को छोड़कर डिफ़ॉल्ट इंस्टॉल पथ/usr/bin/python है जहां यह /usr/bin/python3.4
ओपी एक प्रॉपर्टी फ़ाइल के बारे में पूछ रहा था, एंटी बिल्ड फ़ाइल के भीतर नहीं। दुर्भाग्यवश सशर्त संपत्ति प्रॉपर्टी फ़ाइल से नहीं की जा सकती है। आप क्या कर सकते हैं निर्भर संपत्तियों के प्रत्येक सेट के लिए अलग संपत्ति फाइलें हैं। उदाहरण के लिए:
build.xml
<condition property="app.name" value="appA">
<equals arg1="${appName}" arg2="A" />
</condition>
<condition property="app.name" value="appB">
<equals arg1="${appName}" arg2="B" />
</condition>
<property file="${app.name}.properties" />
<!-- since properties are immutable, set your defaults here -->
<property name="apache.root" value="/var" />
<property file="restOfProps.properties" />
appA.properties
apache.root=/appA
restOfProps.properties
my_property=${apache.root}/myapp
- 1. चींटी संपत्ति फ़ाइल में पूर्ण पथ
- 2. चींटी: सशर्त कॉपी
- 3. चींटी सशर्त विफलता
- 4. गुणों के चींटी आउटपुट मूल्यों में कैसे?
- 5. चींटी: अगर संपत्ति में एक निश्चित स्ट्रिंग
- 6. चींटी मशीन नाम संपत्ति
- 7. संपत्ति फ़ाइल में गुणों के लिए नामकरण सम्मेलन
- 8. चींटी फ़ाइल
- 9. क्या चींटी गुण अन्य गुणों को हल कर सकते हैं?
- 10. Maven - एक बाहरी गुणों से एक संपत्ति फ़ाइल को पढ़ने
- 11. चींटी: निर्देशिका में फ़ाइल का पथ
- 12. चींटी zipfileset फ़ाइल
- 13. चींटी स्क्रिप्ट
- 14. चींटी
- 15. .net प्रोजेक्ट और डिज़ाइनर फ़ाइल की गुणों में त्रुटि
- 16. मैवेन में सशर्त गुणों को कैसे परिभाषित किया जाए?
- 17. चींटी
- 18. बैच फ़ाइल सशर्त कथन
- 19. सशर्त Mercurial अनदेखा फ़ाइल
- 20. चींटी: कक्षा का नाम फ़ाइल पथ में कनवर्ट करें
- 21. चींटी में संपत्ति को ओवर-लिखने के लिए कैसे?
- 22. चींटी ओवरराइटिंग कस्टम मेनिफेस्ट फ़ाइल
- 23. संपत्ति आगे की कक्षा
- 24. चींटी
- 25. चींटी
- 26. डेलोक में किस प्रकार की संपत्ति तय की जानी चाहिए?
- 27. चींटी
- 28. एंड्रॉइड संपत्ति फ़ोल्डर में फ़ाइल अस्तित्व की जांच करें?
- 29. डब्ल्यूसीएफ सेवा की web.config फ़ाइल में MaxReceivedMessageSize संपत्ति कहां डालें?
- 30. सी #/डब्ल्यूपीएफ: संपत्ति ViewModel में सभी गुणों के लिए CHanged?
धन्यवाद। हालांकि, मैं 'property' फ़ाइलों के बारे में पूछ रहा था, न कि 'build.xml'। या, अगर मैं आपको सही समझ गया हूं, तो 'स्थिति' कार्य इसे करने का एकमात्र तरीका है? – BreakPhreak
आप निर्माण xml में प्रॉपर्टी फ़ाइल पढ़ सकते हैं और बाद में संबंधित गुणों के आधार पर नई संपत्ति को परिभाषित कर सकते हैं ... – Vishal
मैं "kinda" पुन: प्रयोज्य संपत्ति फ़ाइलों (शर्तों के साथ) रखना चाहूंगा जो कई 'build.xml द्वारा पढ़े जाएंगे फाइलें क्या मैं गलत दिशा का लक्ष्य रख रहा हूं? – BreakPhreak