Groovy और Gradle: JVM स्वचालन और बिल्ड इंजीनियरिंग · पाठ

प्लगइन एक्सटेंशन और कॉन्फ़िगर करने योग्य DSL

एक्सटेंशन ऑब्जेक्ट, प्रॉपर्टी और परंपराओं से अपने Gradle प्लगइन के लिए स्वच्छ कॉन्फ़िगरेशन DSL बनाएँ और बेहतर उपयोगकर्ता अनुभव दें।

पाठ 4, कुल 4 में से13 चरण

प्लगइन एक्सटेंशन और कॉन्फ़िगर करने योग्य DSL, CoddyKit पर Groovy और Gradle: JVM स्वचालन और बिल्ड इंजीनियरिंग का एक निःशुल्क पाठ है। यह 4 में से 4वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Groovy और Gradle: JVM स्वचालन और बिल्ड इंजीनियरिंग सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Groovy और Gradle: JVM स्वचालन और बिल्ड इंजीनियरिंग पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

प्लगिन कॉन्फ़िगर करना

एक अच्छा प्लगिन उपयोगकर्ताओं को अपनी बिल्ड स्क्रिप्ट में पढ़ने योग्य ब्लॉक के माध्यम से उसका व्यवहार अनुकूलित करने देता है। Gradle इसे extension कहता है — Java प्लगिन जैसे प्लगिन सेटिंग्स इसी तरह उपलब्ध कराते हैं।

Extension क्या है?

Extension एक साधारण ऑब्जेक्ट है जिसे आपका प्लगिन किसी नाम के अंतर्गत पंजीकृत करता है। उपयोगकर्ता संबंधित DSL ब्लॉक में इसकी प्रॉपर्टी सेट करते हैं और आपके कार्य उन मानों को पढ़ते हैं।

Extension क्लास परिभाषित करना

कॉन्फ़िगर की जा सकने वाली प्रॉपर्टी रखने वाली क्लास बनाएँ।

class GreetingExtension {
    String message = "Hello"
    String recipient = "World"
}

Extension पंजीकृत करना

प्लगिन की apply method में extension को DSL नाम के अंतर्गत पंजीकृत करें।

void apply(Project project) {
    project.extensions.create('greeting', GreetingExtension)
}

build.gradle में कॉन्फ़िगर करना

अब उपयोगकर्ता extension नाम से मेल खाते साफ़-सुथरे ब्लॉक के माध्यम से प्लगिन को कॉन्फ़िगर कर सकते हैं।

greeting {
    message = 'Hi'
    recipient = 'Gradle'
}

किसी कार्य में Extension मान पढ़ना

Extension मानों को किसी कार्य से जोड़ें, ताकि कॉन्फ़िगरेशन निष्पादन के समय व्यवहार को नियंत्रित करे।

def ext = project.extensions.greeting
project.tasks.register('greet') {
    doLast { println "${ext.message}, ${ext.recipient}!" }
}

विलंबित प्रॉपर्टी

आधुनिक प्लगिन Provider API (Property<String>) का उपयोग करते हैं, ताकि उपयोगकर्ता का कॉन्फ़िगरेशन पूरा करने के बाद मानों का मूल्यांकन विलंब से हो।

abstract class Ext {
    abstract Property<String> getMessage()
}

कन्वेंशन सेट करना

convention के साथ उचित डिफ़ॉल्ट मान दें, ताकि प्लगिन तुरंत काम करे और फिर भी उसे ओवरराइड किया जा सके।

message.convention('Hello')

नेस्टेड Extension

जटिल प्लगिन Extension को नेस्ट करते हैं, जैसे publishing ब्लॉक के अंदर repositories सब-ब्लॉक, और इसके लिए चाइल्ड ऑब्जेक्ट पंजीकृत करते हैं।

Extension से कार्य कॉन्फ़िगर करना

मज़बूत तरीका यह है कि कार्यों को पंजीकृत करें और उनकी विलंबित प्रॉपर्टी को project.afterEvaluate के अंदर या providers के माध्यम से extension से जोड़ें, ताकि मान पढ़े जाने से पहले उपयोगकर्ता का कॉन्फ़िगरेशन पूरी तरह लागू हो जाए।

project.afterEvaluate {
    project.tasks.greet.configure { message = project.extensions.greeting.message }
}

Extension महत्वपूर्ण क्यों हैं

Extension उपयोगकर्ता की अपेक्षा को प्लगिन के काम करने के तरीके से अलग करते हैं। वे प्लगिन को आसानी से खोजने योग्य, प्रकार-सुरक्षित और कॉन्फ़िगर करने में सुविधाजनक बनाते हैं — यही पुनः उपयोग योग्य प्लगिन की पहचान है।

त्वरित जाँच

प्लगिन Extension के अपने ज्ञान की जाँच करें।

पुनरावलोकन

आपने प्लगिन को कॉन्फ़िगर करने योग्य बनाना सीखा:

  • Extension उपयोगकर्ताओं के लिए नामित DSL ब्लॉक उपलब्ध कराते हैं
  • project.extensions.create से पंजीकृत करें
  • कार्य निष्पादन के समय Extension मान पढ़ते हैं
  • विलंबित डिफ़ॉल्ट के लिए Provider API और convention का उपयोग करें
  • Extension उपयोगकर्ता के उद्देश्य को प्लगिन की कार्यप्रणाली से अलग करते हैं
शुरुआत निःशुल्क

एआई शिक्षक के साथ Groovy सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
12
पाठ
48

अक्सर पूछे जाने वाले प्रश्न

क्या “प्लगइन एक्सटेंशन और कॉन्फ़िगर करने योग्य DSL” पाठ निःशुल्क है?

हाँ—“प्लगइन एक्सटेंशन और कॉन्फ़िगर करने योग्य DSL” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Groovy और Gradle: JVM स्वचालन और बिल्ड इंजीनियरिंग पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Groovy और Gradle: JVM स्वचालन और बिल्ड इंजीनियरिंग पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“प्लगइन एक्सटेंशन और कॉन्फ़िगर करने योग्य DSL” में मैं क्या सीखूँगा?

एक्सटेंशन ऑब्जेक्ट, प्रॉपर्टी और परंपराओं से अपने Gradle प्लगइन के लिए स्वच्छ कॉन्फ़िगरेशन DSL बनाएँ और बेहतर उपयोगकर्ता अनुभव दें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Groovy और Gradle: JVM स्वचालन और बिल्ड इंजीनियरिंग का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Groovy और Gradle: JVM स्वचालन और बिल्ड इंजीनियरिंग शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Groovy और Gradle: JVM स्वचालन और बिल्ड इंजीनियरिंग शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 4वाँ पाठ है।

“प्लगइन एक्सटेंशन और कॉन्फ़िगर करने योग्य DSL” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Groovy और Gradle: JVM स्वचालन और बिल्ड इंजीनियरिंग पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Groovy और Gradle: JVM स्वचालन और बिल्ड इंजीनियरिंग पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. Gradle प्लगइन को समझना
  2. बाइनरी प्लगइन बनाना
  3. प्लगइन लागू करना और प्रकाशित करना
  4. प्लगइन एक्सटेंशन और कॉन्फ़िगर करने योग्य DSL
← Groovy और Gradle: JVM स्वचालन और बिल्ड इंजीनियरिंग पर वापस जाएँ