मैं एक प्लगइन बनाना चाहता हूं जो स्वचालित रूप से अन्य (बाहरी प्लगइन्स) लागू करता है। "प्लगइन लागू करें" कॉल करने से पहले प्लगइन के लिए बिल्डस्क्रिप्ट निर्भरता को सेट करने की आवश्यकता है। हालांकि ऐसा लगता है कि मैं प्लगइन में बिल्डस्क्रिप्ट निर्भरता नहीं जोड़ सकता या मुझे लगता है: आप एक कॉन्फ़िगरेशन नहीं बदल सकते जो अनसुलझा स्थिति में नहीं है!किसी अन्य (बाहरी) प्लगइन पर निर्भरता के साथ एक ग्रैडल प्लगइन बनाना
क्या इसका कोई समाधान है?
मेरे नमूना (गैर काम कर रहे) कोड:
import org.gradle.api.Project
import org.gradle.api.Plugin
class SamplePlugin implements Plugin<Project>{
void apply(Project project) {
project.buildscript.dependencies.add("classpath","net.sourceforge.cobertura:cobertura:1.9.4.1");
project.configure(project){
apply plugin: 'cobertura'
}
}
}
यदि कोई दिलचस्पी लेता है कि यह वास्तव में कैसे किया जाता है: आपको अपने MavenPublication में डिफ़ॉल्ट POM का विस्तार करना होगा। नेटफ्लिक्स के नेबुला प्लगइन्स उदाहरणों के लिए एक महान स्रोत हैं: https://github.com/nebula-plugins/nebula-publishing-plugin/blob/master/src%2Fmain%2Fgroovy%2Fnebula%2Fplugin%2Fpublishing%2Fmaven%2FMavenJavaPublishingPlugin.groovy – Matthias
अगर कोई इस पृष्ठ पर जाता है तो नेबुला प्रकाशित प्लगइन का नवीनतम लिंक। https://github.com/nebula-plugins/nebula-publishing-plugin/blob/master/src/main/groovy/nebula/plugin/publishing/maven/MavenPublishPlugin.groovy – dmahapatro