10

我为 gradle 创建了一个简单的基于 groovy 的插件。

在我的 gradle.build 文件中,我有以下内容:

apply plugin: 'groovy'

dependencies {
    compile gradleApi()
    compile localGroovy()
}

一切都很好,我得到了一个构建目录,并在 lib 文件夹中生成了一个 .jar,我猜这是独立插件。

现在我想知道如何将这个新插件注册到我的 gradle 安装中,所以我可以应用插件:'myPlugin' 我已经完成了以下操作:

  • 将插件放入安装中的插件文件夹
  • 创建 myplugin.properties 文件并将其包含在 META-INF 文件夹中
  • 将相同的属性文件放在 src 目录的 META-INF 中(绝望的行为)

好吧,在我尝试应用插件的每一步之后,我都会收到错误消息:

  • 未找到 ID 为“myplugin”的插件

我怎样才能做到这一点?

你能列出一个能让我的插件工作的步骤列表吗?(我是 gradle+groovy 的新手)

谢谢您的帮助

4

2 回答 2

11

用户指南的第 58 章包含您需要的所有信息。总之:

  • 将您myPlugin.properties的项目结构放入 src/main/resources/META-INF /gradle-plugins/
  • 像往常一样构建你的 jar
  • 在您希望使用此插件的脚本中,将buildscript闭包添加到以下内容:

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

或者您希望的任何设置repositoriesdependencies但您需要使用classpath我在此处所做的配置。我认为您不能(或不应该!)像您一样将 jar 添加到 Gradle 的插件目录中。

注意: flatDir 不解析传递依赖。依赖管理的相同规则适用于 buildscript,因此您可以使用常规 maven 或 ivy 存储库来部署插件。

于 2013-05-09T18:42:06.127 回答
1

查看完整 Gradle 发行版(或GitHub 上)中的samples/customPlugin和示例。他们应该拥有您需要的所有信息。samples/customDistribution

于 2013-05-11T11:52:51.097 回答