我正在尝试从自定义gradle包装器中分发的init脚本访问〜/ .gradle / gradle.properties中设置的属性。
companyLogin=test
println "Company Username: " + companyLogin
此操作失败:“无法在构建中找到属性'companyLogin'。
task printCompanyLogin {
println "Company Username: " + companyLogin
}
这很好用(我必须注释掉init脚本)
我确保用$ gradlew执行。
我也尝试将companyLogin = test放在项目root gradle.properties中但没有成功。这是Gradle的故意行为吗?我不记得在手册中看过它了,但是在过去的6个月左右我没有和Gradle一样多的时间。
有人有任何建议吗?
答案 0 :(得分:1)
问题是系统属性与项目属性之一。
Init脚本在创建项目之前运行,因此无法访问项目属性。
使用以下设置解决了情况:
systemProp.company.login=test
final companyLogin = System.properties["company.login"]