public static File compressFile()

in src/main/java/com/amazonaws/codepipeline/jenkinsplugin/CompressionTools.java [52:87]


    public static File compressFile(
            final String projectName,
            final Path pathToCompress,
            final CompressionType compressionType,
            final BuildListener listener)
            throws IOException {
        File compressedArtifacts = null;

        try {
            switch (compressionType) {
                case Zip:
                    compressedArtifacts = File.createTempFile(projectName + "-", ".zip");
                    compressZipFile(compressedArtifacts, pathToCompress, listener);
                    break;
                case Tar:
                    compressedArtifacts = File.createTempFile(projectName + "-", ".tar");
                    compressTarFile(compressedArtifacts, pathToCompress, listener);
                    break;
                case TarGz:
                    compressedArtifacts = File.createTempFile(projectName + "-", ".tar.gz");
                    compressTarGzFile(compressedArtifacts, pathToCompress, listener);
                    break;
                case None:
                    throw new IllegalArgumentException("No compression type specified.");
            }
        } catch (final IOException e) {
            if (compressedArtifacts != null) {
                if (!compressedArtifacts.delete()) {
                    compressedArtifacts.deleteOnExit();
                }
            }
            throw e;
        }

        return compressedArtifacts;
    }