Class AbstractZipArchiver

    • Field Detail

      • archiveType

        protected String archiveType
      • addedDirs

        protected final AddedDirs addedDirs
      • doubleFilePass

        protected boolean doubleFilePass
      • skipWriting

        protected boolean skipWriting
      • addingNewFiles

        protected boolean addingNewFiles
        true when we are adding new files into the Zip file, as opposed to adding back the unchanged files
      • zipArchiveOutputStream

        protected org.apache.commons.compress.archivers.zip.ZipArchiveOutputStream zipArchiveOutputStream
    • Constructor Detail

      • AbstractZipArchiver

        public AbstractZipArchiver()
    • Method Detail

      • getComment

        public String getComment()
      • setComment

        public void setComment​(String comment)
      • getEncoding

        public String getEncoding()
      • setEncoding

        public void setEncoding​(String encoding)
      • setCompress

        public void setCompress​(boolean compress)
      • isCompress

        public boolean isCompress()
      • isRecompressAddedZips

        public boolean isRecompressAddedZips()
      • setRecompressAddedZips

        public void setRecompressAddedZips​(boolean recompressAddedZips)
      • setUpdateMode

        public void setUpdateMode​(boolean update)
      • isInUpdateMode

        public boolean isInUpdateMode()
      • setFilesonly

        public void setFilesonly​(boolean f)
        If true, emulate Sun's jar utility by not adding parent directories; optional, defaults to false.
        Parameters:
        f - true to emilate sun jar utility
      • isFilesonly

        public boolean isFilesonly()
      • zipFile

        protected void zipFile​(org.apache.commons.compress.parallel.InputStreamSupplier in,
                               ConcurrentJarCreator zOut,
                               String vPath,
                               long lastModified,
                               File fromArchive,
                               int mode,
                               String symlinkDestination,
                               boolean addInParallel)
                        throws IOException,
                               ArchiverException
        Adds a new entry to the archive, takes care of duplicates as well.
        Parameters:
        in - the stream to read data for the entry from.
        zOut - the stream to write to.
        vPath - the name this entry shall have in the archive.
        lastModified - last modification time for the entry.
        fromArchive - the original archive we are copying this
        symlinkDestination -
        addInParallel - Indicates if the entry should be add in parallel. If set to false it is added synchronously. If the entry is symbolic link this parameter is ignored.
        Throws:
        IOException
        ArchiverException
      • setZipEntryTime

        protected void setZipEntryTime​(org.apache.commons.compress.archivers.zip.ZipArchiveEntry zipEntry,
                                       long lastModifiedTime)
        Set the ZipEntry dostime using the date if specified otherwise the original time.

        Zip archives store file modification times with a granularity of two seconds, so the times will either be rounded up or down. If you round down, the archive will always seem out-of-date when you rerun the task, so the default is to round up. Rounding up may lead to a different type of problems like JSPs inside a web archive that seem to be slightly more recent than precompiled pages, rendering precompilation useless. plexus-archiver chooses to round up.

        Parameters:
        zipEntry - to set the last modified time
        lastModifiedTime - to set in the zip entry only if AbstractArchiver.getLastModifiedTime() returns null
      • createEmptyZip

        protected boolean createEmptyZip​(File zipFile)
                                  throws ArchiverException
        Create an empty zip file
        Parameters:
        zipFile - The file
        Returns:
        true for historic reasons
        Throws:
        ArchiverException
      • cleanUp

        protected void cleanUp()
                        throws IOException
        Do any clean up necessary to allow this instance to be used again.

        When we get here, the Zip file has been closed and all we need to do is to reset some globals.

        This method will only reset globals that have been changed during execute(), it will not alter the attributes or nested child elements. If you want to reset the instance so that you can later zip a completely different set of files, you must use the reset method.

        Overrides:
        cleanUp in class AbstractArchiver
        Throws:
        IOException
        See Also:
        reset()
      • reset

        public void reset()
        Makes this instance reset all attributes to their default values and forget all children.
        See Also:
        cleanUp()