在另一个模块中使用自定义 gradle 插件模块

pab*_*sco 4 java plugins build gradle gradle-plugin

我正在开发一个自定义插件,我希望能够在稍后阶段将其部署到存储库,因此我为它创建了一个独立模块。

在我对其进行任何正式的 TDD 之前,我想手动进行某些探索性测试,因此,我创建了一个使用给定插件的演示模块。

到目前为止,我找到的唯一方法是将插件部署到本地存储库中,然后将其导入到另一个模块中。但这非常乏味,而且很容易忘记部署它。

我想知道是否有办法更直接地做到这一点。

pab*_*sco 5

更新(2020-09-07):

可以使用includeBuild("plugin/module")将模块添加到项目的类路径中,以便可以应用插件。有一个警告,如果你想像settings.gradle[.kts]我在这个线程上发现的那样应用它,它还不起作用。

旧答案:

我发现的最佳解决方案是将插件模块的文件夹作为 buildSrc 模块(用于本地脚本)的一部分包含在其源集中,例如:

sourceSets {
    main {
        groovy.srcDirs += "../custom-plugin/src/main/groovy"
        resources.srcDirs += "../custom-plugin/src/main/resources"
    }
}
Run Code Online (Sandbox Code Playgroud)

这将使您可以像在远程存储库中一样使用插件,但不必每次都部署它。下一个单元测试:)