Open-source multiplayer game server compatible with the RuneScape client https://www.openrs2.org/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
openrs2/util/src/main/java/dev/openrs2/util/io/DeterministicJarOutputStrea...

28 lines
755 B

package dev.openrs2.util.io
import java.io.OutputStream
import java.nio.file.attribute.FileTime
import java.util.jar.JarOutputStream
import java.util.jar.Manifest
import java.util.zip.Deflater
import java.util.zip.ZipEntry
class DeterministicJarOutputStream : JarOutputStream {
constructor(out: OutputStream) : super(out)
constructor(out: OutputStream, man: Manifest) : super(out, man)
init {
setLevel(Deflater.BEST_COMPRESSION)
}
override fun putNextEntry(ze: ZipEntry) {
ze.creationTime = UNIX_EPOCH
ze.lastAccessTime = UNIX_EPOCH
ze.lastModifiedTime = UNIX_EPOCH
super.putNextEntry(ze)
}
private companion object {
private val UNIX_EPOCH = FileTime.fromMillis(0)
}
}