【问题标题】:How to use ant.resourcelist in groovy-script/gradle如何在 groovy-script/gradle 中使用 ant.resourcelist
【发布时间】:2015-07-30 09:33:03
【问题描述】:

我有一个任务 - 从列表中删除文件,该列表存储在一个文件中。 为此,我想使用 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 以从位于另一个文件的列表中删除文件?提前致谢。

【问题讨论】:

标签: grails groovy ant gradle


【解决方案1】:

你使用了错误的语法,必须是(这里使用 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')
  }
 }

【讨论】:

  • 当我从 groovy-script 使用它时 - 我收到错误:无法将提供的符号转换为文件或 URI:{file=/path/to/file}。我尝试添加蚂蚁。到文件,然后输出不显示任何内容
  • 谢谢!在 gradle 中必须使用:'ant.file(file: 'remove.txt')'
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多