如何在groovy-script / gradle中使用ant.resourcelist

时间:2015-07-30 09:33:04

标签: grails groovy ant gradle

我有一项任务 - 从列表中删除文件,该文件存储在文件中。 为此,我想使用Groovy脚本。 在Ant中,使用以下目标没有问题:

<delete failonerror="false" verbose="true">
        <resourcelist >
            <file file="/path/to/file"/>
        </resourcelist>
</delete>

但是在Groovy脚本中导致错误:

ant.delete(
        failonerror: "false",
        verbose: "true",
        ant.resourcelist(
                ant.file(
                    file: "/path/to/file"
                )
        )
)

错误:

The <resourcelist> type doesn't support nested text data ("/path/to/file").

如何配置Groovy skipt以从另一个文件中的列表中删除文件?提前谢谢。

1 个答案:

答案 0 :(得分:0)

你使用了错误的语法,必须(这里使用groovy任务):

<project>

<taskdef name="groovy" classname="org.codehaus.groovy.ant.Groovy"/>

<groovy>
  ant.delete(failonerror: false, verbose: true) {
   resourcelist {
    file(file: '/path/to/file')
   }
  }
</groovy>

</project>

- 评论后编辑 -
使用groovy文件时,您必须使用:

def ant = new AntBuilder()
 ant.delete(failonerror: false, verbose: true) {
  resourcelist {
   file(file: '/path/to/file')
  }
 }