【发布时间】:2016-10-14 19:43:04
【问题描述】:
努力让 Gradle 生成一个 CSV 文件,并尝试为我的 build.gradle 文件创建可以从命令行传入的属性。
我在 gradle.properties 中插入了以下内容:
userCount=100
在我的 build.gradle 文件中
task writeUsersFile << {
if (project.hasProperty('userCount')){
args = getProperty(userCount)
}
outputFile.withWriter { out ->
1.upto($userCount) {
out.println(String.format(userNameFmt, it, testPassword))
}
}
}
当我通过命令行运行 Gradle 进程时,我遇到以下情况:
Could not get unknown property '100' for task ':writeUsersFile' of type org.gradle.api.DefaultTask.
如果我从命令行传递参数,它会将错误从默认值“100”适当地更新为我传递的值。
也试过了:
task writeUsersFile << {
userCount = project.hasProperty('userCount') ? project.userCount : ''
outputFile.withWriter { out ->
1.upto($userCount) {
out.println(String.format(userNameFmt, it, testPassword))
}
}
}
结果是:
Could not get unknown property '$userCount' for task ':writeUsersFile' of type org.gradle.api.DefaultTask.
如果我直接在 build.gradle 中定义 userCount=100(或任何任意数字),则文件的编写工作正常,障碍是为 # of users 设置参数。
【问题讨论】:
-
我的回答解决了你的问题吗?如果是,您是否介意接受将这个问题标记为已解决的答案?见here。如果否,请在您的问题中添加更多详细信息或您在答案中缺少什么。
-
您的回答帮助我找到了正确的答案。在任务块中声明属性时,我仍然遇到问题。我采纳了您的建议,只使用“userCount”,并将添加为我解决问题的方法。
标签: gradle build.gradle