我想编写一个gradle构建脚本,它可以在不同的环境中工作(开发,实时)。 在每个环境中,我必须加载不同的属性集(目标目录,数据库等)。
是否有依赖于环境或配置文件读取属性文件的gradle方法?
答案 0 :(得分:6)
您可以查看Gradle Properties Plugin。
包含插件:
plugins {
id 'net.saliman.properties' version '1.4.2'
}
创建属性文件:
gradle-dev.properties
或
gradle-prod.properties
调用gradle:
gradle myTask -PenvironmentName=dev
gradle myTask -PenvironmentName=prod
答案 1 :(得分:3)
另请查看graven的equivalent maven的个人资料。
答案 2 :(得分:1)
我遇到了同样的问题,但我使用spring并将其配置为从类路径中读取属性:application.properties
在这种情况下,您可以使用java插件将其添加到gradle.build
if (project.hasProperty('env')) {
println "Target environment: $env"
sourceSets.main.resources.srcDir "src/main/environment/$env"
}
这适用于基于环境的不同文件夹
因此,根据环境添加资源' dev'你应该有' src / main / environment / dev'文件夹(带属性文件),并调用gradle:gradle myTask -Penv = dev