Interface Archiver

    • Field Detail

      • DEFAULT_DIR_MODE

        static final int DEFAULT_DIR_MODE
        Default value for the dirmode attribute.
        See Also:
        Constant Field Values
      • DEFAULT_FILE_MODE

        static final int DEFAULT_FILE_MODE
        Default value for the filemode attribute.
        See Also:
        Constant Field Values
      • DEFAULT_SYMLILNK_MODE

        static final int DEFAULT_SYMLILNK_MODE
        Default value for the symlinkmode attribute.
        See Also:
        Constant Field Values
      • DUPLICATES_VALID_BEHAVIORS

        static final java.util.Set<java.lang.String> DUPLICATES_VALID_BEHAVIORS
    • Method Detail

      • addDirectory

        @Deprecated
        void addDirectory​(@Nonnull
                          java.io.File directory,
                          java.lang.String[] includes,
                          java.lang.String[] excludes)
                   throws ArchiverException
        Deprecated.
        Will go away in next major version
        Obsolete, use addFileSet(FileSet).
        Throws:
        ArchiverException
      • addDirectory

        @Deprecated
        void addDirectory​(@Nonnull
                          java.io.File directory,
                          java.lang.String prefix,
                          java.lang.String[] includes,
                          java.lang.String[] excludes)
                   throws ArchiverException
        Deprecated.
        Will go away in next major version
        Obsolete, use addFileSet(FileSet).
        Throws:
        ArchiverException
      • addSymlink

        void addSymlink​(java.lang.String symlinkName,
                        int permissions,
                        java.lang.String symlinkDestination)
                 throws ArchiverException
        Throws:
        ArchiverException
      • addFile

        void addFile​(@Nonnull
                     java.io.File inputFile,
                     @Nonnull
                     java.lang.String destFileName,
                     int permissions)
              throws ArchiverException
        Throws:
        ArchiverException
      • addResource

        void addResource​(org.codehaus.plexus.components.io.resources.PlexusIoResource resource,
                         java.lang.String destFileName,
                         int permissions)
                  throws ArchiverException
        Adds the given resource collection to the archive. Stream transformers are *not* supported on this method
        Throws:
        ArchiverException
        Since:
        1.0-alpha-10
      • addResources

        void addResources​(org.codehaus.plexus.components.io.resources.PlexusIoResourceCollection resources)
                   throws ArchiverException
        Adds the given resource collection to the archive. Stream transformers are supported on this method
        Throws:
        ArchiverException
        Since:
        1.0-alpha-10
      • getDestFile

        java.io.File getDestFile()
      • setDestFile

        void setDestFile​(java.io.File destFile)
      • setFileMode

        void setFileMode​(int mode)
      • getFileMode

        int getFileMode()
      • getOverrideFileMode

        int getOverrideFileMode()
      • setDefaultFileMode

        void setDefaultFileMode​(int mode)
      • getDefaultFileMode

        int getDefaultFileMode()
      • setDirectoryMode

        void setDirectoryMode​(int mode)
        This is the forced mode that should be used regardless if set, otherwise falls back to default.
        Parameters:
        mode -
      • getDirectoryMode

        int getDirectoryMode()
        Gets the forced mode for directories, falling back to default if none is forced.
        Returns:
      • getOverrideDirectoryMode

        int getOverrideDirectoryMode()
      • setDefaultDirectoryMode

        void setDefaultDirectoryMode​(int mode)
        This is the "default" value we should use if no other value is specified
        Parameters:
        mode -
      • getDefaultDirectoryMode

        int getDefaultDirectoryMode()
      • getIncludeEmptyDirs

        boolean getIncludeEmptyDirs()
      • setIncludeEmptyDirs

        void setIncludeEmptyDirs​(boolean includeEmptyDirs)
      • setDotFileDirectory

        void setDotFileDirectory​(java.io.File dotFileDirectory)
      • isForced

        boolean isForced()

        Returns, whether recreating the archive is forced (default). Setting this option to false means, that the archiver should compare the timestamps of included files with the timestamp of the target archive and rebuild the archive only, if the latter timestamp precedes the former timestamps. Checking for timestamps will typically offer a performance gain (in particular, if the following steps in a build can be suppressed, if an archive isn't recreated) on the cost that you get inaccurate results from time to time. In particular, removal of source files won't be detected.

        An archiver doesn't necessarily support checks for uptodate. If so, setting this option to true will simply be ignored. The method isSupportingForced() may be called to check whether an archiver does support uptodate checks.

        Returns:
        true if the target archive should always be created; false otherwise
        See Also:
        setForced(boolean), isSupportingForced()
      • setForced

        void setForced​(boolean forced)

        Sets, whether recreating the archive is forced (default). Setting this option to false means, that the archiver should compare the timestamps of included files with the timestamp of the target archive and rebuild the archive only, if the latter timestamp precedes the former timestamps. Checking for timestamps will typically offer a performance gain (in particular, if the following steps in a build can be suppressed, if an archive isn't recreated) on the cost that you get inaccurate results from time to time. In particular, removal of source files won't be detected.

        An archiver doesn't necessarily support checks for uptodate. If so, setting this option to true will simply be ignored. The method isSupportingForced() may be called to check whether an archiver does support uptodate checks.

        Parameters:
        forced - true, if the target archive should always be created; false otherwise
        See Also:
        isForced(), isSupportingForced()
      • isSupportingForced

        boolean isSupportingForced()
        Returns, whether the archive supports uptodate checks. If so, you may set setForced(boolean) to true.
        Returns:
        true, if the archiver does support uptodate checks, false otherwise
        See Also:
        setForced(boolean), isForced()
      • getDuplicateBehavior

        java.lang.String getDuplicateBehavior()
        Returns the behavior of this archiver when duplicate files are detected.
      • setDuplicateBehavior

        void setDuplicateBehavior​(java.lang.String duplicate)
        Set the behavior of this archiver when duplicate files are detected. One of:
        • add - Add the duplicates to the archive as duplicate entries
        • skip/preserve - Leave the first entry encountered in the archive, skip the new one
        • fail - throw an ArchiverException

        See DUPLICATES_ADD, DUPLICATES_SKIP, DUPLICATES_PRESERVE, DUPLICATES_FAIL.
      • setUseJvmChmod

        @Deprecated
        void setUseJvmChmod​(boolean useJvmChmod)
        Deprecated.
        this setting is now ignored. The jvm is always used.
        to use or not the jvm method for file permissions: user all not active for group permissions
        Parameters:
        useJvmChmod -
        Since:
        1.1
      • isUseJvmChmod

        @Deprecated
        boolean isUseJvmChmod()
        Deprecated.
        this setting is now ignored. The jvm is always used.
        Returns:
        Since:
        1.1
      • isIgnorePermissions

        boolean isIgnorePermissions()
        Since:
        1.1
      • setIgnorePermissions

        void setIgnorePermissions​(boolean ignorePermissions)
        Since:
        1.1
      • setLastModifiedDate

        @Deprecated
        void setLastModifiedDate​(java.util.Date lastModifiedDate)
        Deprecated.
        Define forced last modification date for entries (if non null).
        Parameters:
        lastModifiedDate -
        Since:
        4.2.0
      • getLastModifiedDate

        @Deprecated
        java.util.Date getLastModifiedDate()
        Deprecated.
        Since:
        4.2.0
      • setLastModifiedTime

        void setLastModifiedTime​(java.nio.file.attribute.FileTime lastModifiedTime)
        Sets the last modification time of the entries (if non null).
        Parameters:
        lastModifiedTime - to set in the archive entries
        Since:
        4.3.0
        See Also:
        getLastModifiedTime()
      • getLastModifiedTime

        java.nio.file.attribute.FileTime getLastModifiedTime()
        Returns the last modification time of the archiver.
        Returns:
        The last modification time of the archiver, null if not specified
        Since:
        4.3.0
        See Also:
        setLastModifiedTime(FileTime)
      • setFilenameComparator

        void setFilenameComparator​(java.util.Comparator<java.lang.String> filenameComparator)
        Set filename comparator, used to sort file entries when scanning directories since File.list() does not guarantee any order.
        Since:
        4.2.0
      • setOverrideUid

        void setOverrideUid​(int uid)
        Since:
        4.2.0
      • setOverrideUserName

        void setOverrideUserName​(java.lang.String userName)
        Since:
        4.2.0
      • getOverrideUid

        int getOverrideUid()
        Since:
        4.2.0
      • getOverrideUserName

        java.lang.String getOverrideUserName()
        Since:
        4.2.0
      • setOverrideGid

        void setOverrideGid​(int gid)
        Since:
        4.2.0
      • setOverrideGroupName

        void setOverrideGroupName​(java.lang.String groupName)
        Since:
        4.2.0
      • getOverrideGid

        int getOverrideGid()
        Since:
        4.2.0
      • getOverrideGroupName

        java.lang.String getOverrideGroupName()
        Since:
        4.2.0
      • setUmask

        void setUmask​(int umask)
        Since:
        4.7.0
      • getUmask

        int getUmask()
        Since:
        4.7.0
      • configureReproducible

        @Deprecated
        void configureReproducible​(java.util.Date lastModifiedDate)
        Deprecated.
        This method is obsolete and will just call configureReproducibleBuild(FileTime) with the Date transformed into FileTime.
        Parameters:
        lastModifiedDate - the date to use for archive entries last modified time
        Since:
        4.2.0
      • configureReproducibleBuild

        void configureReproducibleBuild​(java.nio.file.attribute.FileTime lastModifiedTime)
        Configure the archiver to create archives in a reproducible way (see Reproducible Builds).

        This will configure:

        • reproducible archive entries order,
        • defined entries timestamp
        Parameters:
        lastModifiedTime - The last modification time of the entries
        Since:
        4.3.0
        See Also:
        Reproducible Builds