protected fun extract()

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)
                  }
                }
              }
            }
          }
        }
      }
    }
  }