无法在Gradle中通过掩码删除目录

时间:2016-08-18 13:45:16

标签: gradle

我尝试删除'foo / dir'中名为'public- someHash '的目录。 'SomeHash'是动态创建的(例如'dsflsdfn')并且总是新的。我试图使用'fileTree'但目录仍然存在。有我的代码:

tasks.create(name: 'delete', type : Delete) {
        delete fileTree(dir: 'foo/dir/', include: 'public-*/**')
}

我的面具有什么问题?

UDP:我在Ant中有类似的任务,一切正常:

 <target name="delete">
        <delete includeemptydirs="true">
          <fileset dir="foo/dir/">
            <include name="public-*/**"/>
          </fileset>
        </delete>
 </target>

1 个答案:

答案 0 :(得分:0)

编辑:道歉,原来的答案是基于对问题的误读。

这是一种方法,但不是最优雅的方式:

task myDelete(type: Delete) {
    def files = new HashSet()

    new File('foo/dir').eachFile { file ->
        if (file.isDirectory() && (file.name ==~ /public-.*/)) {
            files << file
        } 
    }

    delete files
}