我想使用每个构建机器(dev、ci、uat、...)上的外部属性文件来控制 Gradle 构建脚本中的“全局”配置,并使用命令行参数指定文件名。
例如gradle -DbuildProperties=/example/config/build.properties
我特别不想使用 gradle.properties,因为我们有已经使用这种方法的现有项目,并且(例如)我们希望能够修改数据库 url 和 jdbc 驱动程序而不必更改每个项目。
到目前为止已经尝试过:-
Properties props = new Properties()
props.load(new FileInputStream("$filename"))
project.setProperty('props', props)
它有效,但有一个已弃用的警告,但我不知道如何避免这种情况。
还尝试使用带有 ConfigSlurper 的 groovy 样式配置文件:-
environments {
dev {
db.security {
driver=net.sourceforge.jtds.jdbc.Driver
url=jdbc:someserver://somehost:1234/some_db
username=userId
password=secret
}
}
}
但是冒号和正斜杠会导致异常,我们不想用转义字符弄乱配置。
必须有一种不被弃用的方式来做到这一点 - 任何人都可以提出“正确”的方式来做到这一点吗?
谢谢