2013-05-09 23 views
7

लागू करें मैंने ग्रेडल के लिए एक सरल ग्रोवी-आधारित प्लगइन बनाया है।ग्रेडल कस्टम जार प्लगइन

मेरी gradle.build फ़ाइल में

मैं निम्नलिखित है:

apply plugin: 'groovy' 

dependencies { 
    compile gradleApi() 
    compile localGroovy() 
} 

सब कुछ काम करता है महान, मैं एक निर्माण निर्देशिका हो और एक .jar lib फ़ोल्डर में उत्पन्न होता है, मुझे लगता है कि इस स्टैंडअलोन प्लगइन है।

अब मैं अपने Gradle instalation में इस नए प्लगइन रजिस्टर करने के लिए कैसे जानना चाहते हैं, तो मैं प्लगइन लागू कर सकते हैं: निम्नलिखित 'myPlugin' मेरे द्वारा की गई:

  • प्लगइन में प्लगइन droped स्थापना
  • में फ़ोल्डर myplugin.properties फाइल बनाई और META-INF फ़ोल्डर में शामिल
  • एक ही गुण src निर्देशिका (हताशा का कार्य)
में META-INF में दाखिल रखा

खैर हर कदम जब मैं प्लगइन लागू करने के लिए मैं त्रुटि मिलती है की कोशिश के बाद:

  • आईडी के साथ प्लगइन 'myplugin'

नहीं मिला मैं यह अधिकार कैसे प्राप्त कर सकते हैं ??

क्या आप मेरी प्लगइन काम करने वाले चरणों की एक सूची बता सकते हैं? मदद

उत्तर

7

उपयोगकर्ता गाइड के chapter 58 सभी जानकारी की आवश्यकता है के लिए (+ ग्रूवी Gradle को इम नया)

धन्यवाद। सारांश में:

  • अपनी परियोजना संरचना के भीतर अपने myPlugin.properties रखो, src में/मुख्य/संसाधन/META-INF /Gradle-plugins/
  • अपने जार बिल्ड की तरह आप आमतौर पर
  • करना स्क्रिप्ट में

    buildscript { 
        repositories { 
         flatDir dirs: "build/libs" 
        } 
        dependencies { 
         classpath "your.group:your-plugin:1.0.0" 
        } 
    } 
    

या जो कुछ भी: यदि आप इस प्लगइन का उपयोग करना चाहते हैं, की तरह कुछ करने के लिए एक buildscript बंद जोड़ने repositories और dependencies के लिए सेटिंग्स जो आप चाहते हैं, लेकिन आपको classpath कॉन्फ़िगरेशन का उपयोग करने की आवश्यकता है जैसा मैंने यहां किया है। मुझे नहीं लगता कि आप (जैसे चाहिए) ग्रिडल के प्लगइन डीआईआर में जार जोड़ सकते हैं जैसे आपने किया था।

+0

मैंने यह कोशिश की है, और अभी भी निम्न त्रुटि मिली है: कॉन्फ़िगरेशन ': classpath' के लिए सभी निर्भरताओं को हल नहीं कर सका। > org.gradle.mypluginpack नहीं मिला: MyPlugin: 1.0-SNAPSHOT। द्वारा आवश्यक: : परीक्षण: अनिर्दिष्ट – RicardoE

+0

धन्यवाद, कोई अन्य विचार? – RicardoE

+1

ठीक है, शायद आपके द्वारा निर्दिष्ट भंडार में आपके प्लगइन का जार नहीं था। मेरा 'flatDir' उदाहरण के लिए सिर्फ था। निर्भरता प्रबंधन के लिए एक ही नियम 'बिल्डस्क्रिप्ट' बंद करने पर लागू होता है। –

1

पूर्ण ग्रेडल वितरण (या GitHub पर samples/customPlugin और samples/customDistribution नमूने देखें)। उनके पास आपकी सारी जानकारी होनी चाहिए।

संबंधित मुद्दे