जैसा कि @cjstehno द्वारा पहले ही उल्लेख किया गया apply pluginहै, एक विरासत विधि है जिससे आपको बचना चाहिए।
प्लगइन्स डीएसएल की शुरूआत के साथ, उपयोगकर्ताओं के पास प्लगइन्स लगाने की विरासत विधि का उपयोग करने के लिए बहुत कम कारण होना चाहिए। यदि यह वर्तमान में काम करता है, तो प्रतिबंध के कारण एक बिल्ड लेखक प्लगइन्स डीएसएल का उपयोग नहीं कर सकता है, यह यहां दस्तावेजित है।
नई plugins blockविधि के साथ, आप एक वैकल्पिक पैरामीटर का उपयोग करके इसे लागू करने के लिए एक प्लगइन और नियंत्रण जोड़ सकते हैं apply:
plugins {
id «plugin id» version «plugin version» [apply «false»]
}
आप अभी भी उन स्थितियों में विरासत पद्धति का उपयोग करेंगे, जहां आप अपने pluginsब्लॉक में पहले से ही जोड़े गए लेकिन लागू नहीं किए गए प्लगइन को लागू करना चाहते हैं । उदाहरण के लिए, मास्टर प्रोजेक्ट में एक प्लगइन xyzजोड़ा जाता है, लेकिन इसे लागू नहीं किया जाता है और इसे केवल एक सबप्रोजेक्ट में लागू किया जाना चाहिए subPro:
plugins {
id "xyz" version "1.0.0" apply false
}
subprojects { subproject ->
if (subproject.name == "subPro") {
apply plugin: 'xyz'
}
}
ध्यान दें कि आपको अब संस्करण की आवश्यकता नहीं है। संस्करण को pluginsब्लॉक में आवश्यक है जब तक कि आप कोर ग्रैडल प्लगइन्स में से एक का उपयोग नहीं कर रहे हैं, जैसे कि java,scala ...
मैंने Spring Bootएप्लिकेशन बनाने का प्रयास करते हुए अंतर को समझने में कुछ समय बिताया , और इसीलिए मैं थोड़ी देर बाद फिर से इसका उत्तर दे रहा हूं। प्लगइन का उपयोग करने के लिए निम्न उदाहरणSpring Boot मुझे बहुत मदद मिली:
वर्तमान में क्या उपयोग किया जाना चाहिए:
plugins {
id "org.springframework.boot" version "2.0.1.RELEASE"
}
ग्रेडल 2.1 से पहले क्या इस्तेमाल किया गया था:
buildscript {
repositories {
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath "org.springframework.boot:spring-boot-gradle-plugin:2.0.1.RELEASE"
}
}
apply plugin: "org.springframework.boot"