mirror of
https://github.com/ethauvin/kobalt.git
synced 2025-04-26 16:28:12 -07:00
For a rerun if no files found in the directory being md5'ed.
This commit is contained in:
parent
4568f2f659
commit
2032cd2724
2 changed files with 13 additions and 3 deletions
|
@ -104,7 +104,8 @@ class IncrementalManager(val fileName: String = IncrementalManager.BUILD_INFO_FI
|
||||||
saveInputChecksum(taskName, it)
|
saveInputChecksum(taskName, it)
|
||||||
logIncremental(1, " input checksum \"$it\" saved")
|
logIncremental(1, " input checksum \"$it\" saved")
|
||||||
}
|
}
|
||||||
taskOutputChecksum?.let {
|
// Important to rerun the checksum here since the output of the task might have changed it
|
||||||
|
iit.outputChecksum()?.let {
|
||||||
saveOutputChecksum(taskName, it)
|
saveOutputChecksum(taskName, it)
|
||||||
logIncremental(1, " output checksum \"$it\" saved")
|
logIncremental(1, " output checksum \"$it\" saved")
|
||||||
}
|
}
|
||||||
|
|
|
@ -22,10 +22,12 @@ public class Md5 {
|
||||||
val ds = directories.filter { it.exists() }
|
val ds = directories.filter { it.exists() }
|
||||||
if (ds.size > 0) {
|
if (ds.size > 0) {
|
||||||
MessageDigest.getInstance("MD5").let { md5 ->
|
MessageDigest.getInstance("MD5").let { md5 ->
|
||||||
|
var fileCount = 0
|
||||||
directories.filter { it.exists() }.forEach { file ->
|
directories.filter { it.exists() }.forEach { file ->
|
||||||
if (file.isFile) {
|
if (file.isFile) {
|
||||||
val bytes = file.readBytes()
|
val bytes = file.readBytes()
|
||||||
md5.update(bytes, 0, bytes.size)
|
md5.update(bytes, 0, bytes.size)
|
||||||
|
fileCount++
|
||||||
} else {
|
} else {
|
||||||
val files = KFiles.findRecursively(file) // , { f -> f.endsWith("java")})
|
val files = KFiles.findRecursively(file) // , { f -> f.endsWith("java")})
|
||||||
log(2, " Calculating checksum of ${files.size} files in $file")
|
log(2, " Calculating checksum of ${files.size} files in $file")
|
||||||
|
@ -34,13 +36,20 @@ public class Md5 {
|
||||||
}.filter {
|
}.filter {
|
||||||
it.isFile
|
it.isFile
|
||||||
}.forEach {
|
}.forEach {
|
||||||
|
fileCount++
|
||||||
val bytes = it.readBytes()
|
val bytes = it.readBytes()
|
||||||
md5.update(bytes, 0, bytes.size)
|
md5.update(bytes, 0, bytes.size)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
val result = DatatypeConverter.printHexBinary(md5.digest()).toLowerCase()
|
// The output directory might exist but with no files in it, in which case
|
||||||
return result
|
// we must run the task
|
||||||
|
if (fileCount > 0) {
|
||||||
|
val result = DatatypeConverter.printHexBinary(md5.digest()).toLowerCase()
|
||||||
|
return result
|
||||||
|
} else {
|
||||||
|
return null
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
return null
|
return null
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue