首页 文章

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

提问于
浏览
2

我在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来说,上述两个值都是正确的 .

有人能告诉我如何才能做到这一点吗?

1 回答

  • 1

    您're using the comma separated one in the wrong level. You'将其放在 <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")
    }
    

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

相关问题