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

时间:2015-07-06 21:42:27

标签: groovy ant antbuilder

我在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"]是选择文件的单个表达式,则可行。

  

** /测试/ *。java的

如果params["testSuite"]被指定为

,它会失败(在我看来Groovy无法理解该值的原样)来查找文件
  

** / tests / test1.java, ** / tests / test1.java

但是,对于Ant,上述两个值都是正确的。

有人可以告诉我如何才能完成这项工作吗?

1 个答案:

答案 0 :(得分:1)

你使用逗号分隔的错误级别。您将其放在<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")
}

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