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 1ff19a2..dddf617 100644 --- a/buildSrc/src/main/kotlin/im/angry/openeuicc/build/MagiskModule.kt +++ b/buildSrc/src/main/kotlin/im/angry/openeuicc/build/MagiskModule.kt @@ -82,17 +82,18 @@ 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() - 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() - } + 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() } + zip.close() + out.close() return out.toByteArray() }