पद - अवलोकन

"Gradle is an open source build automation system"

चींटी और मावेन ने जावा बाजार में काफी सफलता साझा की। चींटी 2000 में जारी पहला निर्माण उपकरण था और इसे प्रक्रियात्मक प्रोग्रामिंग विचार के आधार पर विकसित किया गया है। बाद में इसे Apache-IVY की मदद से नेटवर्क पर प्लग-इन और निर्भरता प्रबंधन को स्वीकार करने की क्षमता के साथ सुधार किया गया है। मुख्य दोष XML निर्माण स्क्रिप्ट लिखने के लिए एक प्रारूप के रूप में है, पदानुक्रमिक होना प्रक्रियात्मक प्रोग्रामिंग के लिए अच्छा नहीं है, और XML अप्रभावित रूप से बड़ा हो जाता है।

मावेन को 2004 में पेश किया गया था। यह बहुत सुधार के साथ आता है फिर ए.एन.टी. यह अपनी संरचना को बदलता है और निर्माण विनिर्देशों को लिखने के लिए XML का उपयोग करना जारी रखता है। मावेन सम्मेलनों पर निर्भर करता है और नेटवर्क पर निर्भरता को डाउनलोड करने में सक्षम है। मावेन का मुख्य लाभ इसका जीवन चक्र है। लगातार कई परियोजनाओं के लिए एक ही जीवन चक्र का पालन करते हुए। इससे लचीलापन आता है। मावेन को भी निर्भरता प्रबंधन में कुछ समस्याओं का सामना करना पड़ता है। यह एक ही पुस्तकालय के संस्करणों और जटिल अनुकूलित बिल्ड स्क्रिप्ट के बीच अच्छी तरह से संघर्ष को संभाल नहीं करता है वास्तव में ANT की तुलना में मावेन में लिखना मुश्किल है।

अंत में ग्रैडल 2012 में तस्वीर में आया। ग्रैडल ने दोनों टूल से कुछ कुशल विशेषताओं का वहन किया।

ग्रेडल की विशेषताएं

निम्नलिखित उन विशेषताओं की सूची है जो ग्रैडल प्रदान करता है।

  • Declarative builds and build-by-convention- ग्रैड ग्रोवी भाषा के आधार पर अलग डोमेन विशिष्ट भाषा (डीएसएल) के साथ उपलब्ध है। ग्रैडल एक घोषित भाषा तत्व प्रदान करता है। वे तत्व जावा, ग्रूवी, ओएसजीआई, वेब और स्काला के लिए बिल्ड-बाय-कन्वेंशन सपोर्ट भी प्रदान करते हैं।

  • Language for dependency based programming - घोषणात्मक भाषा एक सामान्य उद्देश्य कार्य ग्राफ के शीर्ष पर है, जिसे आप अपने निर्माण में पूरी तरह से लाभ उठा सकते हैं।

  • Structure your build- ग्रैडल अंत में आपको अपने निर्माण के लिए सामान्य डिजाइन सिद्धांतों को लागू करने की अनुमति देता है। यह आपको बिल्ड, एसओ के लिए एक आदर्श संरचना प्रदान करेगा, जिसे आप अच्छी तरह से संरचित और आसानी से बनाए रखा जा सकता है, समझदार निर्माण कर सकते हैं।

  • Deep API - इस एपीआई का उपयोग करने से यह आपको इसके कोर के विन्यास और निष्पादन व्यवहार की निगरानी और अनुकूलित करने की अनुमति देता है।

  • Gradle scales - ग्रैडल आसानी से अपनी उत्पादकता बढ़ा सकता है, सरल और एकल परियोजना से विशाल उद्यम मल्टी-प्रोजेक्ट बिल्ड बनाता है।

  • Multi-project builds- ग्रैडल मल्टी-प्रोजेक्ट बिल्ड का समर्थन करता है और यह आंशिक बिल्ड का समर्थन करता है। यदि आप एक सबप्रोजेक्ट बनाते हैं तो ग्रैडल उन सभी उपप्रोजेकों के निर्माण का ध्यान रखता है जो इस पर निर्भर करते हैं।

  • Different ways to manage your builds - ग्रेडल आपकी निर्भरता को प्रबंधित करने के लिए विभिन्न रणनीतियों का समर्थन करता है।

  • Gradle is the first build integration tool- ग्रैडल आपके एएनटी कार्यों के लिए पूरी तरह से समर्थित है, निर्भरता को प्रकाशित करने और पुनर्प्राप्त करने के लिए मावेन और लेवी रिपॉजिटरी इन्फ्रास्ट्रक्चर। ग्रैड लिपि को Maven pom.xml मोड़ने के लिए एक कनवर्टर भी प्रदान करता है।

  • Ease of migration- ग्रैडल आपके पास किसी भी संरचना को आसानी से अनुकूलित कर सकता है। इसलिए आप हमेशा अपने ग्रेडेल बिल्ड को उसी शाखा में विकसित कर सकते हैं जहां आप लाइव स्क्रिप्ट का निर्माण कर सकते हैं।

  • Gradle Wrapper- ग्रैडल रैपर आपको ग्रैडल मशीनों को निष्पादित करने की अनुमति देता है जहां ग्रैडल स्थापित नहीं है। यह सर्वरों के निरंतर एकीकरण के लिए उपयोगी है।

  • Free open source - ग्रैडल एक ओपन सोर्स प्रोजेक्ट है, और अपाचे सॉफ्टवेयर लाइसेंस (एएसएल) के तहत लाइसेंस प्राप्त है।

  • Groovy- ग्रैडल की बिल्ड स्क्रिप्ट ग्रूवी में लिखी गई है। ग्रैडल का पूरा डिज़ाइन एक भाषा के रूप में इस्तेमाल होने के लिए उन्मुख है, न कि एक कठोर रूपरेखा के रूप में। और ग्रूवी आपको कुछ सार के साथ अपनी स्क्रिप्ट लिखने की अनुमति देता है। पूरा ग्रैड एपीआई पूरी तरह से ग्रूवी भाषा में डिज़ाइन किया गया है।

क्यों Groovy?

पूरा ग्रेड एपीआई ग्रूवी भाषा का उपयोग करके बनाया गया है। यह XML पर एक आंतरिक DSL का एक फायदा है। ग्रेडल अपने मूल में सामान्य उद्देश्य निर्माण उपकरण है; इसका मुख्य फोकस जावा प्रोजेक्ट्स है। ऐसी परियोजनाओं में, टीम के सदस्य जावा से बहुत परिचित होंगे और यह बेहतर है कि एक निर्माण सभी टीम के सदस्यों के लिए जितना संभव हो उतना पारदर्शी होना चाहिए।

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