【发布时间】:2013-04-22 19:45:17
【问题描述】:
我想使用每台构建机器(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
}
}
}
但是冒号和正斜杠会导致异常,我们不想用转义字符弄乱配置。
必须有一种不被弃用的方法来做到这一点 - 任何人都可以提出“正确”的方法吗?
谢谢
【问题讨论】:
-
你试过
url="jdbc:someserver://somehost:1234/some_db" -
是的 - 没用....
标签: properties configuration groovy gradle