2013-05-09 52 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样本。他们应该拥有所有你需要的信息。