如何使用自定义 gradle 插件而不将其发布到 maven/ivy 存储库?

Posted

技术标签:

【中文标题】如何使用自定义 gradle 插件而不将其发布到 maven/ivy 存储库?【英文标题】:How to use custom gradle plugin without publishing it to maven/ivy repositories? 【发布时间】:2019-02-26 18:44:28 【问题描述】:

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

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

为了了解和了解我想要完成的工作,这里有一些代码可以展示这个想法:

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


apply "my-gradle-plugin"

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

以上是关于如何使用自定义 gradle 插件而不将其发布到 maven/ivy 存储库?的主要内容,如果未能解决你的问题,请参考以下文章

如何访问对象而不将其作为参数传递?

设置自定义异常的消息而不将其传递给基本构造函数

如何安装 React Native 应用程序而不将其发布到任何商店?

如何使用 Java 裁剪图像而不将其加载到内存中

如何在python中生成文件而不将其保存到磁盘?

访问非静态类的属性而不将其分配给变量