1
0
Fork 0
mirror of https://github.com/ethauvin/kobalt.git synced 2025-04-26 16:28:12 -07:00

Null checksums if the directory doesn't exist.

This commit is contained in:
Cedric Beust 2015-12-24 22:03:13 +04:00
parent b1b3e69267
commit 54ec63e3fd

View file

@ -9,33 +9,41 @@ import javax.xml.bind.DatatypeConverter
public class Md5 { public class Md5 {
companion object { companion object {
// private fun md5(file: File) : String { // private fun md5(file: File) : String {
// if (file.isDirectory) {
// println("PROBLEM")
// }
// val md5 = MessageDigest.getInstance("MD5") // val md5 = MessageDigest.getInstance("MD5")
// val bytes = file.readBytes() // val bytes = file.readBytes()
// md5.update(bytes, 0, bytes.size) // md5.update(bytes, 0, bytes.size)
// return DatatypeConverter.printHexBinary(md5.digest()).toLowerCase() // return DatatypeConverter.printHexBinary(md5.digest()).toLowerCase()
// } // }
fun toMd5Directories(directories: List<File>) : String { fun toMd5Directories(directories: List<File>) : String? {
MessageDigest.getInstance("MD5").let { md5 -> val ds = directories.filter { it.exists() }
directories.forEach { file -> if (ds.size > 0) {
if (file.isFile) { MessageDigest.getInstance("MD5").let { md5 ->
val bytes = file.readBytes() directories.filter { it.exists() }.forEach { file ->
md5.update(bytes, 0, bytes.size) if (file.isFile) {
} else { val bytes = file.readBytes()
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) 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() } else {
return result return null
} }
} }