diff --git a/buildSrc/src/main/kotlin/im/angry/openeuicc/build/MagiskModule.kt b/buildSrc/src/main/kotlin/im/angry/openeuicc/build/MagiskModule.kt index dddf617..1ff19a2 100644 --- a/buildSrc/src/main/kotlin/im/angry/openeuicc/build/MagiskModule.kt +++ b/buildSrc/src/main/kotlin/im/angry/openeuicc/build/MagiskModule.kt @@ -82,18 +82,17 @@ private fun buildMagiskModule(target: Project) = buildZipFile { } } -private fun buildZipFile(builderAction: MutableMap ByteArray>.() -> Unit): ByteArray { +private fun buildZipFile(builderAction: MutableMap ByteArray>.() -> Unit): ByteArray { val out = ByteArrayOutputStream() - val zip = ZipOutputStream(out) - for ((name, invoke) in buildMap(builderAction)) { - val entry = ZipEntry(name) - entry.time = 0 // reproducible builds - zip.putNextEntry(entry) - zip.write(invoke(entry)) - zip.closeEntry() + ZipOutputStream(out).use { + for ((name, invoke) in buildMap(builderAction)) { + val entry = ZipEntry(name) + entry.time = 0 // reproducible builds + it.putNextEntry(entry) + it.write(entry.invoke()) + it.closeEntry() + } } - zip.close() - out.close() return out.toByteArray() }