public static void unzip()

in src/main/java/org/apache/maven/buildcache/CacheUtils.java [180:199]


    public static void unzip(Path zip, Path out) throws IOException {
        try (ZipInputStream zis = new ZipInputStream(Files.newInputStream(zip))) {
            ZipEntry entry = zis.getNextEntry();
            while (entry != null) {
                Path file = out.resolve(entry.getName());
                if (!file.normalize().startsWith(out.normalize())) {
                    throw new RuntimeException("Bad zip entry");
                }
                if (entry.isDirectory()) {
                    Files.createDirectory(file);
                } else {
                    Path parent = file.getParent();
                    Files.createDirectories(parent);
                    Files.copy(zis, file);
                }
                Files.setLastModifiedTime(file, FileTime.fromMillis(entry.getTime()));
                entry = zis.getNextEntry();
            }
        }
    }