gpt4 book ai didi

gradle - 通过 gradle FileTree.include 删除目录

转载 作者:行者123 更新时间:2023-12-04 04:01:51 24 4
gpt4 key购买 nike

我想说:

clean.delete(fileTree("a") {
include "subdir/"
include "aFile"
})

删除目录“subdir”和文件“aFile”。但是“subdir”没有被删除。我可以明确列出:
clean.delete("a/subdir")

但这比我想要的更重复。可以使用 fileTree.include 来完成这项工作吗?

到目前为止,我想出了:
[ "subdir",
"aFile",
...
].each { it ->
clean.delete("a/$it")
}

但这只是有点尴尬。

最佳答案

恐怕这是不可能的。看到这个 discussion在 gradle 论坛上。讨论导致此issue .

一个简单的测试表明

task makeDir << {
['a', 'a/subdir'].each { new File(it).mkdirs() }
new File('a/aFile').createNewFile()

def tree = fileTree('a') {
include 'subdir/'
include 'aFile'
}

tree.each {File file ->
println file
}
}

只打印文件而不打印目录,因为目录被遍历。您的解决方案很好,但您可以保存一些字符:
[ "subdir",
"aFile",
...
].each { clean.delete("a/$it") }

所以 fileTree 仅用于目录树中的文件,而不用于目录。

关于gradle - 通过 gradle FileTree.include 删除目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24274966/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com