如何从 gradle 中删除所有"target"目录(从 maven 转换后)



我有一个巨大的maven项目,很多人都在使用它。我目前正在努力将其转换为gradle。最后的步骤之一是合并gradle文件,并删除pom.xml文件。但是我想添加一个gradle任务来清理maven目标目录(所有子项目)。在shell中,我会这样做:

find . -type d -name target -exec rm -rf "{}" ;

但是我希望这是一个简单的任务。怎么加呢?这是我尝试过的,但它没有删除任何内容:

task cleanMaven(type: Delete) {
delete fileTree('.').matching { include '**/target/**' }
}

下面的将处理根项目的所有模块,如果存在target目录并删除,则打印为true

allprojects {

task mvnClean {
doFirst {
def targetPath = project.projectDir.toString() + '/target'
println "target dir exists: ${Files.deleteIfExists(Paths.get(targetPath))}"
}
}
}

基于@PrasadU的回答,但这也删除了目标/目录的所有内容:

allprojects {
task mvnClean {
doFirst {
def targetPath = project.projectDir.toString() + '/target'
project.delete(files("${targetPath}"))
}
}
}

最新更新