我在Jenkins脚本中使用Groovy-dsl,将"include"参数值传递给Ant FileSet。
def ant = new AntBuilder()
def scanner = ant.fileScanner {
// grab ALL files requested to be run
fileset(dir:"/jenkins/workspace/aJob") {
def selectedFiles = params["testSuite"]
include(name:"$selectedFiles")
}
}
如果params["testSuite"]
是用于选择文件的单个表达式,例如,则它有效
**/tests/*.java
如果params["testSuite"]
被指定为,它将无法找到文件(在我看来,Groovy无法按原样理解该值(
**/tests/test1.java,**/tests/test1.java
然而,对于Ant来说,上述两个值都是正确的。
有人能告诉我怎么做吗?
您在错误的级别中使用了逗号分隔的一个。您将它放在<include>
元素中,而不是includes
属性中(请参阅文档页面(。
所以要使用逗号方法,你可以进行
def ant = new AntBuilder()
def scanner = ant.fileScanner {
// grab ALL files requested to be run
def selectedFiles = params["testSuite"]
fileset(dir:"/jenkins/workspace/aJob", includes: "$selectedFiles")
}
实际上,您可以使用逗号、空格或逗号空格(尽管文档中没有提到这一点(。