如何在不将其发布到 maven/ivy 存储库的情况下使用自定义 gradle 插件?

How to use custom gradle plugin without publishing it to maven/ivy repositories?

我有 2 个 gradle 项目。一个是我自定义的 gradle 插件,另一个是使用这个插件的项目。

我知道我可以构建我的自定义插件,将它发布到某个存储库并在我的其他项目中使用它但是有什么办法可以为我的插件设置类似 "dependency" 的东西(在 build.gradle 我的其他项目)并在不需要 building/publishing 某处使用它?

为了了解和了解我要完成的工作,这里有一些代码有望证明这个想法:

buildScript {
    dependencies {
         compile project(":my-gradle-plugin")
    }
}

apply "my-gradle-plugin"

如果您的插件项目可以移动 inside buildSrc 到想要包含它的项目,您就可以这样做。在这种情况下,插件将默认位于项目的类路径中。

如果该插件在多个项目之间共享,您将需要生成二进制文件然后引用它。请注意,可以使用本地存储库,而不必是远程存储库。使用本地存储库的一个优点是 Gradle 不会缓存已解析的插件,因此即使没有版本更改,也会立即获取任何更新。