private static void addDirectory()

in src/main/java/org/apache/sling/feature/cpconverter/vltpkg/VaultPackageAssembler.java [349:373]


    private static void addDirectory(@NotNull final JarOutputStream jos, @NotNull final File dir, final int prefixLength) throws IOException {
        if (dir.getAbsolutePath().length() > prefixLength && dir.listFiles().length == 0) {
            final String dirName = dir.getAbsolutePath().substring(prefixLength).replace(File.separatorChar, '/');
            final JarEntry entry = new JarEntry(dirName);
            entry.setTime(dir.lastModified());
            entry.setSize(0);
            jos.putNextEntry(entry);
            jos.closeEntry();
        }
        for (final File f : dir.listFiles()) {
            final String name = f.getAbsolutePath().substring(prefixLength).replace(File.separatorChar, '/');
            if (f.isFile() && !JarFile.MANIFEST_NAME.equals(name)) {
                final JarEntry entry = new JarEntry(name);
                entry.setTime(f.lastModified());
                jos.putNextEntry(entry);

                try (final FileInputStream in = new FileInputStream(f)) {
                    IOUtils.copy(in, jos);
                }
                jos.closeEntry();
            } else if (f.isDirectory()) {
                addDirectory(jos, f, prefixLength);
            }
        }
    }