private static void compressArchive()

in src/main/java/com/amazonaws/codepipeline/jenkinsplugin/CompressionTools.java [147:171]


    private static void compressArchive(
            final Path pathToCompress,
            final ArchiveOutputStream archiveOutputStream,
            final ArchiveEntryFactory archiveEntryFactory,
            final CompressionType compressionType,
            final BuildListener listener)
            throws IOException {
        final List<File> files = addFilesToCompress(pathToCompress, listener);

        LoggingHelper.log(listener, "Compressing directory '%s' as a '%s' archive",
                pathToCompress.toString(),
                compressionType.name());

        for (final File file : files) {
            final String newTarFileName = pathToCompress.relativize(file.toPath()).toString();
            final ArchiveEntry archiveEntry = archiveEntryFactory.create(file, newTarFileName);
            archiveOutputStream.putArchiveEntry(archiveEntry);

            try (final FileInputStream fileInputStream = new FileInputStream(file)) {
                IOUtils.copy(fileInputStream, archiveOutputStream);
            }

            archiveOutputStream.closeArchiveEntry();
        }
    }