Gradle没有在init脚本中获取gradle.properties条目

时间:2014-02-26 22:06:27

标签: gradle

我正在尝试从自定义gradle包装器中分发的init脚本访问〜/ .gradle / gradle.properties中设置的属性。

〜/ .gradle / gradle.properties

companyLogin=test

〜/ .gradle /包装/ dists中/.../ companyLoginCheck.gradle

println "Company Username: " + companyLogin

此操作失败:“无法在构建中找到属性'companyLogin'。

projectRoot / buld.gradle

task printCompanyLogin {
    println "Company Username: " + companyLogin
}

这很好用(我必须注释掉init脚本)

我确保用$ gradlew执行。

我也尝试将companyLogin = test放在项目root gradle.properties中但没有成功。这是Gradle的故意行为吗?我不记得在手册中看过它了,但是在过去的6个月左右我没有和Gradle一样多的时间。

有人有任何建议吗?

1 个答案:

答案 0 :(得分:1)

问题是系统属性与项目属性之一。

Init脚本在创建项目之前运行,因此无法访问项目属性。

使用以下设置解决了情况:

〜/ .gradle / gradle.properties

systemProp.company.login=test

〜/ .gradle /包装/ dists中/.../ companyLoginCheck.gradle

final companyLogin = System.properties["company.login"]