in src/main/kotlin/io/bazel/kotlin/builder/utils/jars/JarExtractor.kt [33:54]
protected fun extract(jarFile: Path) {
JarFile(jarFile.toFile()).use { jar ->
jar.entries().also { entries ->
while (entries.hasMoreElements()) {
(entries.nextElement() as java.util.jar.JarEntry).also { entry ->
destDir.resolve(entry.name).also { target ->
if (preWrite(entry.isDirectory, target)) {
when {
entry.isDirectory ->
Files.createDirectories(target)
else -> jar.getInputStream(entry).use {
Files.createDirectories(target.parent)
Files.copy(it, target)
}
}
}
}
}
}
}
}
}