我有多个使用gradle构建的项目。所有项目基本上都使用相同的构建逻辑和许多常见属性,只有项目之间的某些变量不同。
我想集中所有常用部分并在每个gradle项目中“包含”,因此当一些常用属性发生变化时,我不必触及每个gradle项目。我也希望能够覆盖特殊情况的属性。
这样做有什么好处?
答案 0 :(得分:0)
这样做有什么好处?
属性是设置特定于用户/系统的最佳方式(使用Gradle用户主目录中的gradle.properties
文件)或项目特定的(使用项目目录中的gradle.properties
文件)参数。如果要跨开发系统(本地计算机,CI,...)甚至多个用户(不同凭据)设置一致的环境,则可以开发一个或多个初始化脚本。
您可以将它们放置在Gradle用户主目录(这样它们将被所有Gradle安装使用)或Gradle安装目录(对于一个特定的已安装Gradle版本)。
可以通过StartParameter
对象从初始化脚本设置项目和系统属性:
startParameter.with {
projectProperties['key'] = 'value'
systemPropertiesArgs['key'] = 'value'
}
projectProperties
和systemPropertiesArgs
都是简单的地图。