Remove unused DeterministicJarOutputStream methods

Signed-off-by: Graham <gpe@openrs2.dev>
Graham 5 years ago
parent 10145fdb43
commit 8685d2b2dc
  1. 22
      util/src/main/java/dev/openrs2/util/io/DeterministicJarOutputStream.kt
  2. 48
      util/src/test/java/dev/openrs2/util/io/DeterministicJarOutputStreamTest.kt

@ -1,10 +1,7 @@
package dev.openrs2.util.io
import java.io.OutputStream
import java.nio.file.Files
import java.nio.file.Path
import java.nio.file.attribute.FileTime
import java.util.jar.JarInputStream
import java.util.jar.JarOutputStream
import java.util.jar.Manifest
import java.util.zip.ZipEntry
@ -22,24 +19,5 @@ class DeterministicJarOutputStream : JarOutputStream {
companion object {
private val UNIX_EPOCH = FileTime.fromMillis(0)
fun create(out: OutputStream, manifest: Manifest? = null): JarOutputStream {
return if (manifest != null) {
DeterministicJarOutputStream(out, manifest)
} else {
DeterministicJarOutputStream(out)
}
}
fun repack(src: Path, dest: Path) {
JarInputStream(Files.newInputStream(src)).use { input ->
create(Files.newOutputStream(dest), input.manifest).use { output ->
for (entry in input.entries) {
output.putNextEntry(entry)
input.copyTo(output)
}
}
}
}
}
}

@ -1,15 +1,11 @@
package dev.openrs2.util.io
import com.google.common.jimfs.Configuration
import com.google.common.jimfs.Jimfs
import java.io.ByteArrayInputStream
import java.io.ByteArrayOutputStream
import java.nio.file.Files
import java.nio.file.attribute.FileTime
import java.util.jar.Attributes
import java.util.jar.JarEntry
import java.util.jar.JarInputStream
import java.util.jar.JarOutputStream
import java.util.jar.Manifest
import kotlin.test.Test
import kotlin.test.assertEquals
@ -27,7 +23,7 @@ object DeterministicJarOutputStreamTest {
@Test
fun testPutNextEntry() {
ByteArrayOutputStream().use { out ->
DeterministicJarOutputStream.create(out).use { jar ->
DeterministicJarOutputStream(out).use { jar ->
val entry = JarEntry("Hello.class")
entry.creationTime = Y2K
entry.lastAccessTime = Y2K
@ -55,7 +51,7 @@ object DeterministicJarOutputStreamTest {
@Test
fun testManifest() {
ByteArrayOutputStream().use { out ->
DeterministicJarOutputStream.create(out, manifest).use { jar ->
DeterministicJarOutputStream(out, manifest).use { jar ->
jar.putNextEntry(JarEntry("Hello.class"))
}
@ -64,44 +60,4 @@ object DeterministicJarOutputStreamTest {
}
}
}
@Test
fun testRepack() {
Jimfs.newFileSystem(Configuration.unix()).use { fs ->
val originalFile = Files.createTempFile(fs.getPath("/"), "original", ".jar")
try {
JarOutputStream(Files.newOutputStream(originalFile)).use { jar ->
val entry = JarEntry("Hello.class")
entry.creationTime = Y2K
entry.lastAccessTime = Y2K
entry.lastModifiedTime = Y2K
jar.putNextEntry(entry)
}
val repackedFile = Files.createTempFile(fs.getPath("/"), "repacked", ".jar")
try {
DeterministicJarOutputStream.repack(originalFile, repackedFile)
JarInputStream(Files.newInputStream(repackedFile)).use { jar ->
assertNull(jar.manifest)
val entry = jar.nextJarEntry
assertNotNull(entry)
assertEquals("Hello.class", entry.name)
assertEquals(0, entry.time)
assertEquals(UNIX_EPOCH, entry.creationTime)
assertEquals(UNIX_EPOCH, entry.lastAccessTime)
assertEquals(UNIX_EPOCH, entry.lastModifiedTime)
assertNull(jar.nextJarEntry)
}
} finally {
Files.deleteIfExists(repackedFile)
}
} finally {
Files.deleteIfExists(originalFile)
}
}
}
}

Loading…
Cancel
Save