2011-05-16 12 views
5

मैं अपने ग्रोवी प्रोग्राम में @Grape का उपयोग करना चाहता हूं लेकिन मेरे प्रोग्राम में कई फाइलें हैं। Groovy Grape page पर दिए गए उदाहरण सभी मानते हैं कि आपकी स्क्रिप्ट में एक फ़ाइल होगी। मैं यह कैसे कर सकता हूँ? क्या मुझे इसे सिर्फ फाइलों में से एक में जोड़ना चाहिए और उम्मीद है कि आयात दूसरों से काम करेगा? यदि ऐसा है, तो क्या सभी @Grape कॉल को एक फ़ाइल में अन्य कोड के साथ रखना आम बात है? क्या मुझे पैकेज आयात करने वाली सभी फाइलों में अंगूर कॉल जोड़ने की ज़रूरत है? क्या मुझे जार डाउनलोड करने और एक ग्रैडल फ़ाइल बनाने की ज़रूरत है, जिसे मैं इस बिंदु पर बिना दूर कर रहा था?@ एकाधिक फ़ाइलों के साथ स्क्रिप्ट में ग्रैप

उत्तर

4

अंगूर इंजन और @ ग्रैब एनोटेशन कोर ग्रोवी के हिस्से के रूप में एक फ़ाइल स्क्रिप्ट के साथ दिमाग में बनाया गया था, ताकि पाठ का एक हिस्सा आसानी से एक पूर्ण कार्यात्मक कार्यक्रम बन सके। बड़े अनुप्रयोगों के लिए

, ग्रेबल बहुत उपयोगी सुविधाओं के साथ एक शानदार निर्माण उपकरण है।

लेकिन हाँ, आप अंगूर के साथ सभी एप्लिकेशन निर्भरताओं का प्रबंधन कर सकते हैं।
चाहे आप प्रत्येक फ़ाइल को एनोटेट करते हैं या कोई फर्क नहीं पड़ता है, बस सुनिश्चित करें कि बाहरी कक्षा का उपयोग करने से पहले @grab एनोटेटेड फ़ाइल पढ़ी जाती है।
मुख्य वर्ग को एनोटेट करना शायद बेहतर है क्योंकि यदि आपके पास एनोटेशन बिखरे हुए हैं तो आप आसानी से लाइब्रेरी संस्करणों का ट्रैक खो देंगे।

और हाँ, आप किसी भी अनुप्रयोग के लिए एक दर्जन से अधिक फ़ाइलों या किसी भी पुस्तकालय के रूप में आप फिर से उपयोग करना चाहते हैं, के लिए किसी भी आवेदन के लिए ग्रेडल पर विचार करना चाहिए।

1

मेरी राय में, यह निर्भर करता है कि कैसे अपने कार्यक्रम चलाने के लिए है ...

अपने कार्यक्रम स्टैंडअलोन स्क्रिप्ट का एक संग्रह के रूप में चलाने के लिए है, तो मैं शायद @Grab प्रत्येक स्क्रिप्ट के लिए आवश्यक छड़ी होगी उनमें से प्रत्येक के शीर्ष पर।

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

सबसे पहले, यह आप आसानी से अपने निर्भरता (और build a single large jar उन सभी युक्त)

दूसरे, Gradle यह वास्तव में आसान परीक्षण लेखन शुरू करने में आता है परिभाषित करने के लिए बनाता है, संभव सुझाव देने के लिए कोड कवरेज प्लगइन्स, या उपयोगी उपकरणों like codenarc शामिल आपके कोड में सुधार या सुधार। ये सभी न केवल आपके कोड को सुधारने के लिए अमूल्य हो जाते हैं (या आपके कोड को जानना), लेकिन जब भी आप अपने कोड को दोबारा इस्तेमाल करते हैं, तो आप जानते हैं कि आपने काम करने के लिए उपयोग की गई कुछ भी नहीं तोड़ दी है।

+0

प्रश्न यह था कि मुझे क्या करना है, उचित नहीं है। मुझे लगता है कि ये दोनों विकल्प काम करेंगे लेकिन क्या वे एकमात्र विकल्प हैं? क्या मैं ग्रैडल के बिना @ ग्रेप कॉल को एक ही स्थान पर रख सकता हूं? – dromodel

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