groovy - 带有逗号分隔文件的 AntBuilder (groovy) (FileSet "include")

标签 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"] 是一个用于选择文件的表达式,例如

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

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

关于groovy - 带有逗号分隔文件的 AntBuilder (groovy) (FileSet "include"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31256166/

相关文章:

ant - 是否可以在 ant 构建脚本中跳过 junit 测试?

ant - 启用来自 groovy 的 AntBuilder 的详细输出

java - 如何在 ant build 中读取 .properties 文件中的部分?

date - Grails:在新的Date()中迭代一天

groovy - 如何执行闭包作为 Groovy 映射的值?

grails - 开发grails应用程序是否需要完整的常规知识?

Java-Ant集成问题

ant - 使用 Ant 1.9.3 运行 JUnit 时出现 StackOverflowError

java - PMD 错误/警告导致构建失败

java.nio.file 无法复制文件