AntBuilder (groovy) 以逗号分隔文件 (FileSet "include")

AntBuilder (groovy) with comma separated files (FileSet "include")

我在 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"] 是 select 文件的单个表达式,例如

**/tests/*.java

如果 params["testSuite"] 指定为

,则无法找到文件(在我看来 Groovy 无法按原样理解该值)

**/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")
}

实际上,您可以使用逗号、space 或逗号 space(即使文档没有提及)。