From 389340af4491be2cde4b1583cbb0fa2ca0e4484e Mon Sep 17 00:00:00 2001 From: Chris Beams Date: Fri, 9 Jul 2010 14:57:15 +0200 Subject: [PATCH] improved clean* tasks --- buildSrc/release.gradle | 50 +++++++++++++++++++++++++++++------------ 1 file changed, 36 insertions(+), 14 deletions(-) diff --git a/buildSrc/release.gradle b/buildSrc/release.gradle index 8215a38b..55e06b67 100644 --- a/buildSrc/release.gradle +++ b/buildSrc/release.gradle @@ -145,26 +145,48 @@ task uploadDoc(type: TarUpload) { } } -task(cleanDist) << { - dist.outputs.files.each { file -> - file.delete() +task(cleanDist) { + onlyIf() { + anyOutputFilesExist = false + dist.outputs.files.each { file -> + if (file.canRead()) { + anyOutputFilesExist = true + } + } + return anyOutputFilesExist; + } + doLast() { + dist.outputs.files.each { file -> + file.delete() + } } } -task(cleanApidocs) << { - // TODO: done quickly, clean this up - apidocs.destinationDir.deleteDir() - apidocs.tmpDir.deleteDir() - apidocs.outputs.files.each { file -> - file.delete() +// TODO: done quickly, clean this up +task(cleanApidocs) { + onlyIf() { + apidocs.destinationDir.isDirectory() + } + doLast() { + apidocs.destinationDir.deleteDir() + apidocs.tmpDir.deleteDir() + apidocs.outputs.files.each { file -> + file.delete() + } } } -task('clean') << { - if(file(buildDir).listFiles()?.size() == 0) { - buildDir.delete() - } else { - println "did not remove [${buildDir}] as it is not empty" +task('clean') { + onlyIf() { + file(buildDir).isDirectory() + } + + doLast() { + if(file(buildDir).listFiles()?.size() == 0) { + buildDir.delete() + } else { + println "did not remove [${buildDir}] as it is not empty" + } } } clean.dependsOn cleanApidocs, cleanDist