我想使用命令行Gradle的属性注入来传递一个数组,这可能吗?
这样的事情:
gradle build -PmyProp=['value1','value2','value3']
并像往常一样访问它:
if(project.hasProperty('myProp')) {
for ( prop in myProp ) {
...
}
}
这可能吗?
答案 0 :(得分:6)
您不能将数组作为属性的值传递。但是,您可以接受以逗号分隔的字符串作为值并在gradle文件中拆分。
if (project.hasProperty('myProp')) {
project.properties['myProp'].split(',').each {
println it
}
}
以gradle build -PmyProp=value1,value2,value3
答案 1 :(得分:1)
-Pmyprop=value
总是给出一个String值。您必须解析该String并将其转换为集合。通常,最好在构建脚本中对常见的参数集进行建模(例如,通过每组参数设置一个单独的任务)。