我仍在尝试学习 Gradle 任务创作。
我找到了以下解决方案来帮助删除目录的内容,同时保持目录不变。
但是我可以帮助修改它以排除特定文件,例如 .jar 文件吗?
How to delete an empty directory (or the directory with all contents recursively) in gradle?
Heri给出了解决方案
task deleteGraphicsAssets(type: Delete) {
def dirName = "src"
file( dirName ).list().each{
f -> delete "${dirName}/${f}"
}
}
最佳答案
task deleteGraphicsAssets(type: Delete) {
doLast {
file('src').eachFileRecurse(groovy.io.FileType.FILES) { File file ->
//Delete all files except *.jar
if (!file.name.endsWith('.jar')) {
delete file
}
}
}
}
另一个选项是使用 Filetree对于更高级的过滤器,例如:
task deleteGraphicsAssets(type: Delete) {
delete fileTree(dir: "tempDir", exclude: "dontDelete.jar")
}
关于Gradle 任务删除目录中的内容但排除 jar 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49437384/