INNER CODE UNIT · Kotlin
serialize
osfans/trime · build-logic/convention/src/main/kotlin/DataChecksumsPlugin.kt:69
private fun serialize(files: Map<String, String>) {
val checksums =
DataChecksums(
Hashing
.sha256()
.hashString(
files.entries.joinToString { it.key + it.value },
Charset.defaultCharset(),
).toString(),
files,
)
file.writeText(json.encodeToString(checksums))
}
private fun deserialize(): Map<String, String> = json.decodeFromString<DataChecksums>(file.readText()).files
companion object {
fun sha256(file: File): String = ByteSource.wrap(file.readBytes()).hash(Hashing.sha256()).toString()