Gradle 渐变外化配置

Gradle 渐变外化配置,gradle,Gradle,我们有多个项目/服务,其中我们会作为build.gradle文件的一部分反复重复相同的配置。例如,spotless插件、docker、junit/jacoco、版本控制、groovy任务等的配置 我想知道是否有一种方法可以将其外部化或移动到单个位置,以便在需要时,我们可以更新一次配置,而不是在每个项目中都这样做 非常幼稚的想法是将master-build.gradle文件存储在它自己的git repo中,在需要的地方,我们可以将其作为一个git子模块,具有扩展/重写功能。对任何想法都持开放态度。

我们有多个项目/服务,其中我们会作为build.gradle文件的一部分反复重复相同的配置。例如,spotless插件、docker、junit/jacoco、版本控制、groovy任务等的配置

我想知道是否有一种方法可以将其外部化或移动到单个位置,以便在需要时,我们可以更新一次配置,而不是在每个项目中都这样做


非常幼稚的想法是将master-build.gradle文件存储在它自己的git repo中,在需要的地方,我们可以将其作为一个git子模块,具有扩展/重写功能。对任何想法都持开放态度。谢谢

Gradle脚本可以通过创建外部脚本文件并使用
apply from:my script.Gradle
导入来重用
apply from
也接受URL,因此您可以使用

apply from: 'https://github.com/user/myproject/raw/master/hello.gradle'


请注意,使用普通引用(URL;或GIT repo URL)是次优的;更好的方法是使用
group:artifact:version
坐标来识别构建依赖项(这些脚本都是依赖项!),这是通过编写插件并发布到repo(例如to)来实现的。

实现自己的Gradle插件怎么样?例如,你可以有一个“mycompany.java”插件,它将应用所有java项目之间共享的基本/默认配置,等等,我考虑过这一点,这似乎有点过于复杂,假设理想情况下,这个插件应该是每个项目高度可配置的(即,如果需要,禁用某些嵌入式插件,或覆盖某些属性)谢谢,这很有帮助。最终使用了
git子模块
应用自