Groovy 如何将属性集合传递给Gradle
我想使用命令行Gradle的属性注入来传递一个数组,这可能吗 大概是这样的:Groovy 如何将属性集合传递给Gradle,groovy,gradle,Groovy,Gradle,我想使用命令行Gradle的属性注入来传递一个数组,这可能吗 大概是这样的: gradle build -PmyProp=['value1','value2','value3'] 并像往常一样访问它: if(project.hasProperty('myProp')) { for ( prop in myProp ) { ... } } 这可能吗?-Pmyprop=value始终提供字符串值。您必须解析该字符串并将其转换为一个集合。通常,最好在构建脚本中对公共
gradle build -PmyProp=['value1','value2','value3']
并像往常一样访问它:
if(project.hasProperty('myProp')) {
for ( prop in myProp ) {
...
}
}
这可能吗?
-Pmyprop=value
始终提供字符串值。您必须解析该字符串并将其转换为一个集合。通常,最好在构建脚本中对公共参数集进行建模(例如,通过为每个参数集设置单独的任务)。不能将数组作为属性值传递。但是,您可以接受逗号分隔的字符串作为值,并在gradle文件中拆分
if (project.hasProperty('myProp')) {
project.properties['myProp'].split(',').each {
println it
}
}
以
gradle build-PmyProp=value1,value2,value3运行这是我在类似情况下选择的解决方案,有一个细微的区别,使它更干净,或者更确切地说是“groovier”——我使用Groovy的标记化方法将参数拆分为一个集合。