我在 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"]
指定为
**/tests/test1.java, **/tests/test1.java
但是,对于 Ant,以上两个值都是正确的。
谁能告诉我如何才能让它发挥作用?
最佳答案
您在错误的级别中使用逗号分隔。你把它放在 <include>
中元素而不是 includes
属性(参见 doc page )。
所以要使用你会做的逗号方法
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")
}
实际上,您可以使用逗号、空格或逗号空格(即使文档没有提及)。
关于groovy - 带有逗号分隔文件的 AntBuilder (groovy) (FileSet "include"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31256166/