2013-05-09 55 views
7

我已經爲gradle創建了一個簡單的基於groovy的插件。應用gradle定製jar插件

我gradle.build文件

我有以下幾點:

apply plugin: 'groovy' 

dependencies { 
    compile gradleApi() 
    compile localGroovy() 
} 

一切都很正常,我得到一個build目錄,並在lib文件夾中生成一個.jar,我想這是獨立的插件。

現在我想知道如何將這種新的插件註冊到我的gradle這個安裝目錄,所以我可以做 應用插件:「爲myplugin」我已經做了以下內容:

  • DROP掉插件到插件在安裝
  • 文件夾中創建myplugin.properties文件,並在META-INF文件夾包含它
  • 放置在相同的性質在META-INF文件在src DIR(絕望的動作)

當我嘗試應用插件,我得到錯誤的每一步之後好:

  • 插件ID爲「爲myplugin」未找到

我怎樣才能得到這個權利?

你能說出一個讓我的插件工作的步驟列表嗎? (進出口新的搖籃+常規)

感謝您的幫助

回答

7

用戶指南的chapter 58有你需要的所有信息。總結:

  • 把你myPlugin.properties你的項目結構中,將src /主/資源/ META-INF /gradle這個-插件/
  • 建立你的罐子就像你通常做
  • 在腳本要使用這個插件,添加buildscript封閉喜歡的東西:

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

或者什麼您需要的設置爲repositoriesdependencies,但您需要使用classpath配置,正如我在此處所做的那樣。我不認爲你可以(或者應該)將jar添加到Gradle的插件目錄中,就像你一樣。

+0

我試過了,仍然出現以下錯誤: 無法解析配置':classpath'的所有依賴關係。 >無法找到org.gradle.mypluginpack:MyPlugin:1.0-SNAPSHOT。 必備: :測試:未指定 – RicardoE 2013-05-09 20:25:00

+0

謝謝,還有其他想法嗎? – RicardoE 2013-05-09 20:25:26

+1

好吧,可能你指定的版本庫不包含你的插件的jar。我的'flatDir'只是爲了舉例。對於依賴管理的相同規則適用於'buildscript'閉包。 – 2013-05-10 12:31:20

1

查看完整Gradle分佈(或GitHub)中的samples/customPluginsamples/customDistribution樣本。他們應該擁有所有你需要的信息。