@ সিজেস্টেহ্নো ইতিমধ্যে উল্লিখিত হিসাবে এটি apply pluginহ'ল একটি উত্তরাধিকার পদ্ধতি যা আপনার এড়ানো উচিত।
প্লাগিনগুলি ডিএসএল প্রবর্তনের সাথে সাথে, ব্যবহারকারীদের প্লাগইন প্রয়োগের উত্তরাধিকার পদ্ধতিটি ব্যবহার করার সামান্য কারণ থাকতে হবে। কোনও বিল্ড লেখক বর্তমানে এটি কীভাবে কাজ করে তাতে সীমাবদ্ধতার কারণে প্লাগিনগুলি ডিএসএল ব্যবহার করতে না পারার ক্ষেত্রে এটি এখানে নথিবদ্ধ হয়।
নতুন plugins blockপদ্ধতির সাহায্যে আপনি একটি প্লাগইন যুক্ত করতে পারেন এবং anচ্ছিক পরামিতি ব্যবহার করে কখন এটি প্রয়োগ করতে পারেন 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ব্লক, যদি না আপনি যেমন কোর Gradle প্লাগইনগুলির এক ব্যবহার করছেন java, scala...
আমি একটি Spring Bootঅ্যাপ্লিকেশন তৈরি করার চেষ্টা করার সময় পার্থক্যটি বোঝার জন্য কিছু সময় ব্যয় করেছি এবং সে কারণেই আমি এটির পরে আবার উত্তর দিচ্ছি। Spring Bootপ্লাগইন ব্যবহারের জন্য নিম্নলিখিত উদাহরণটি আমাকে অনেক সহায়তা করেছে:
বর্তমানে কী ব্যবহার করা উচিত:
plugins {
id "org.springframework.boot" version "2.0.1.RELEASE"
}
গ্রেডেল ২.১ এর আগে যা ব্যবহার করা হয়েছিল:
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"