From 54ec63e3fde0fc3cd86d27436570a01ed615bb56 Mon Sep 17 00:00:00 2001 From: Cedric Beust Date: Thu, 24 Dec 2015 22:03:13 +0400 Subject: [PATCH] Null checksums if the directory doesn't exist. --- .../main/kotlin/com/beust/kobalt/maven/Md5.kt | 42 +++++++++++-------- 1 file changed, 25 insertions(+), 17 deletions(-) diff --git a/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/maven/Md5.kt b/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/maven/Md5.kt index 7693a9ea..850b2451 100644 --- a/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/maven/Md5.kt +++ b/modules/kobalt-plugin-api/src/main/kotlin/com/beust/kobalt/maven/Md5.kt @@ -9,33 +9,41 @@ import javax.xml.bind.DatatypeConverter public class Md5 { companion object { // private fun md5(file: File) : String { +// if (file.isDirectory) { +// println("PROBLEM") +// } // val md5 = MessageDigest.getInstance("MD5") // val bytes = file.readBytes() // md5.update(bytes, 0, bytes.size) // return DatatypeConverter.printHexBinary(md5.digest()).toLowerCase() // } - fun toMd5Directories(directories: List) : String { - MessageDigest.getInstance("MD5").let { md5 -> - directories.forEach { file -> - if (file.isFile) { - val bytes = file.readBytes() - md5.update(bytes, 0, bytes.size) - } else { - val files = KFiles.findRecursively(file) // , { f -> f.endsWith("java")}) - log(2, " Calculating checksum of ${files.size} files in $file") - files.map { - File(file, it) - }.filter { - it.isFile - }.forEach { - val bytes = it.readBytes() + fun toMd5Directories(directories: List) : String? { + val ds = directories.filter { it.exists() } + if (ds.size > 0) { + MessageDigest.getInstance("MD5").let { md5 -> + directories.filter { it.exists() }.forEach { file -> + if (file.isFile) { + val bytes = file.readBytes() md5.update(bytes, 0, bytes.size) + } else { + val files = KFiles.findRecursively(file) // , { f -> f.endsWith("java")}) + log(2, " Calculating checksum of ${files.size} files in $file") + files.map { + File(file, it) + }.filter { + it.isFile + }.forEach { + val bytes = it.readBytes() + md5.update(bytes, 0, bytes.size) + } } } + val result = DatatypeConverter.printHexBinary(md5.digest()).toLowerCase() + return result } - val result = DatatypeConverter.printHexBinary(md5.digest()).toLowerCase() - return result + } else { + return null } }