Gradle 如何从中央存储加载渐变属性

Gradle 如何从中央存储加载渐变属性,gradle,Gradle,我有多个与gradle一起构建的项目。所有项目基本上都使用相同的构建逻辑和许多公共属性,只有某些变量在项目之间是不同的 我想集中所有公共部分,并将其包含在每个gradle项目中,这样当一些常用属性发生变化时,我就不必接触每个gradle项目。我还希望能够覆盖特殊情况下的属性 gradle的方法是什么 gradle的方法是什么 简单回答: 属性是使用gradle用户主目录中的gradle.Properties文件或使用项目目录参数中的gradle.Properties文件设置特定于用户/系统的最佳

我有多个与gradle一起构建的项目。所有项目基本上都使用相同的构建逻辑和许多公共属性,只有某些变量在项目之间是不同的

我想集中所有公共部分,并将其包含在每个gradle项目中,这样当一些常用属性发生变化时,我就不必接触每个gradle项目。我还希望能够覆盖特殊情况下的属性

gradle的方法是什么

gradle的方法是什么

简单回答: 属性是使用gradle用户主目录中的gradle.Properties文件或使用项目目录参数中的gradle.Properties文件设置特定于用户/系统的最佳方法。如果您想跨开发系统本地计算机、CI…设置一致的环境。。。即使多个用户拥有不同的凭据,您也可以开发一个或多个初始化脚本

您可以将它们放在Gradle用户主目录中,这样所有Gradle安装都会使用它们,或者放在Gradle安装目录中某个特定安装的Gradle版本

可以通过对象从初始化脚本设置项目和系统属性:


projectProperties和SystemPropertiesArg都是简单的映射。

我想这个解决方案有两个问题。我需要将init脚本部署到每台使用gradle的机器上,我无法选择是否在每个项目的基础上运行init脚本。我更愿意以某种方式从远程资源(如git或nexus Repository)中包含这些内容。如果您只想排除build.gradle文件的一部分以便在多个项目中使用它们,只需使用apply from:命令和url即可。将脚本托管在web服务器上可以使用GitHub或Bitbucket的原始视图,并使用url作为参数。这将是一个完美的解决方案,但如何管理Bitbucket的登录?目前,除了将脚本存储库公开外,我没有找到任何其他解决方案。
startParameter.with {
    projectProperties['key'] = 'value'
    systemPropertiesArgs['key'] = 'value'
}