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