我有一个巨大的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}"))
}
}
}