我的项目使用Gradle的多项目系统。我的大多数项目都包含这样的"lemur-common“库
"lemur-common“也有一个单元测试目录,其中有一个有点复杂的依赖语句。
现在,我的所有其他项目都需要使用相同的行,因为它们都使用spring-boot-starter-test。我已经做了相当多的工作,试图表达“项目a的testCompile应该与lemur-common具有相同的依赖关系”之类的东西,但我没有让它工作。
有没有可能用Gradle来表达这一点?有人知道怎么做吗?
发布于 2021-02-28 03:47:31
你需要创建一个定制的Gradle插件。
作为所有项目目录的兄弟,创建一个Gradle目录,该目录本身将包含一个Gradle文件(它需要像其他文件一样进行构建)。在src下创建gradle文件,这将是您的插件。将所有的共享gradle代码(您发布的依赖项块)放入该文件中。例如:
然后,在lemur- build.gradle、projectA等的公共中添加以下行
这应该可以了。Gradle关于这个特性的文档在这里: https://docs.gradle.org/current/samples/sample_convention_plugins.html
https://stackoverflow.com/questions/66372526
复制相似问题