स्काला के लिए कौन सा बिल्ड टूल सबसे अच्छा है? उनमें से प्रत्येक के पक्ष और विपक्ष क्या हैं? मैं कैसे निर्धारित करूं कि उनमें से कौन सी परियोजना में उपयोग की जाए?
स्काला के लिए कौन सा बिल्ड टूल सबसे अच्छा है? उनमें से प्रत्येक के पक्ष और विपक्ष क्या हैं? मैं कैसे निर्धारित करूं कि उनमें से कौन सी परियोजना में उपयोग की जाए?
जवाबों:
हम काम पर स्काला परियोजनाओं के निर्माण के लिए मावेन का उपयोग कर रहे हैं क्योंकि यह हमारे सीआई सर्वर के साथ अच्छी तरह से एकीकृत है। हम सिर्फ एक बिल्ड को किक करने के लिए एक शेल स्क्रिप्ट चला सकते हैं, निश्चित रूप से, लेकिन हमें मावेन से निकलने वाली अन्य जानकारी का एक गुच्छा मिला है जिसे हम CI में जाना चाहते हैं। यही कारण है कि मैं एक स्कला परियोजना के लिए मावेन का उपयोग करने के बारे में सोच सकता हूं।
अन्यथा, बस SBT का उपयोग करें। आपको समान निर्भरता (वास्तव में मावेन, आईएमएचओ के बारे में सबसे अच्छा हिस्सा) तक पहुंच मिलती है। आपको वृद्धिशील संकलन भी मिलता है, जो बहुत बड़ा है। आपकी परियोजना के अंदर एक खोल को शुरू करने की क्षमता, जो भी महान है।
ScalaMock केवल SBT के साथ काम करता है, और आप शायद जावा मॉकिंग लाइब्रेरी के बजाय इसका उपयोग करना चाहते हैं। उसके ऊपर, एसबीटी का विस्तार करना बहुत आसान है क्योंकि आप बिल्ड फ़ाइल में पूर्ण स्कैला कोड लिख सकते हैं, इसलिए आपको मोजो लिखने के सभी रिगरामोल से गुजरना नहीं पड़ता है।
संक्षेप में, बस एसबीटी का उपयोग करें जब तक कि आपको वास्तव में अपने सीआई सर्वर में तंग एकीकरण की आवश्यकता न हो।
सवाल सिर्फ बहुत सारी राय पैदा करने के खतरे में है; आवश्यकताओं की स्पष्ट सूची या अपने पर्यावरण, पिछले ज्ञान, आदि का वर्णन करना बेहतर होगा।
FWIW, इस स्कैला मेलिंग लिस्ट थ्रेड में अधिक राय हैं ।
मेरी 2 सी हैं: यदि आपके पास विशिष्ट आवश्यकताएं नहीं हैं तो sbt के साथ जाएं
gen-idea
कार्य, और परियोजना को फिर से खोलें: किए गए अपडेट।compile
, test
, run
, doc
, publish-local
, console
) - console
बेहतरीन सुविधाओं में से एक है।कुछ लोग sbt से नफरत करते हैं क्योंकि यह निर्भरता प्रबंधन के लिए Ivy का उपयोग करता है (मैं इसके पेशेवरों और विपक्षों पर टिप्पणी नहीं कर सकता, लेकिन ज्यादातर समय यह एक गैर-मुद्दा है), कुछ लोग sbt से नफरत करते हैं क्योंकि आप बिल्ड फ़ाइल को एक के संदर्भ में निर्दिष्ट करते हैं XML की जगह Scala DSL। कुछ लोग इस बात से निराश थे कि sbt का प्रारूप v0.7 से बदलकर v0.10 हो गया है, लेकिन जाहिर है, अगर आप खरोंच से शुरू करते हैं, तो माइग्रेशन आपको प्रभावित नहीं करेगा।