क्या निर्भरता को भंडार में शामिल किया जाना चाहिए?
मुझे लगता है कि निर्भरता को हमेशा रिपॉजिटरी में शामिल किया जाना चाहिए जब तक कि उनके उपयोग की शर्तों का उल्लंघन न हो। आपके द्वारा बिल्ड बनाने से पहले मैन्युअल रूप से सही निर्भरता के सही संस्करण खोजने की तुलना में कुछ चीजें अधिक कष्टप्रद हैं। निश्चित रूप से, यह आसान है जब आपके पास आपके लिए ऐसा करने के लिए स्वचालित उपकरण हों, जो सही निर्भरता को ढूंढ और डाउनलोड कर सकते हैं, लेकिन क्या होगा यदि आप इस समय वेब से कनेक्ट नहीं हैं या सर्वर डाउन है या निर्भरता की परियोजना पूरी तरह से बंद कर दिया गया है और ऑफ़लाइन लिया गया है? यदि संभव हो तो हमेशा निर्भरता को शामिल करें।
क्या निर्भरता का निर्माण एक ही बिल्ड स्क्रिप्ट के भीतर से होना चाहिए, बाकी प्रोजेक्ट के रूप में, या एक अलग बिल्ड स्क्रिप्ट से?
जब तक स्रोत से संकलन करने के लिए एक अच्छा कारण नहीं है, तब तक precompiled संस्करण का उपयोग करें।
और बिल्ड स्क्रिप्ट में विकल्प क्यों नहीं प्रदान करते हैं? यह चुनने के लिए एक सरल स्विच कि निर्भरता भी संकलित की जानी चाहिए या नहीं। यदि उपयोगकर्ता निर्भरता को संकलित करने का विकल्प चुनता है, तो बस अपने उत्पाद की बिल्ड स्क्रिप्ट से अपनी स्वयं की बिल्ड स्क्रिप्ट का आह्वान करें। इसलिए उपयोगकर्ता मैन्युअल रूप से निर्भरता की स्क्रिप्ट का निर्माण कर सकता है या हर चीज का पूर्ण निर्माण कर सकता है। लेकिन मैं सिर्फ निर्भरता को बायनेरिज़ के रूप में वितरित करूंगा यदि स्रोतों से उन्हें संकलित करने का एक अच्छा कारण नहीं है। मुझे लगता है कि ओपन सोर्स की दुनिया में, कुछ लाइसेंस के लिए आपको अपने उत्पाद के साथ स्रोतों को वितरित करने की आवश्यकता होती है, लेकिन इसका मतलब यह नहीं है कि आप उन्हें पहले से तैयार नहीं कर सकते हैं।
संक्षेप में: यदि संभव हो तो एक संपूर्ण स्टैंडअलोन, कार्य पैकेज प्रदान करें। यह आपके उपयोगकर्ताओं को सबसे अधिक सुविधा प्रदान करेगा।