Class AssemblyProxyArchiver

  • All Implemented Interfaces:
    org.codehaus.plexus.archiver.Archiver

    public class AssemblyProxyArchiver
    extends java.lang.Object
    implements org.codehaus.plexus.archiver.Archiver
    Delegating archiver implementation that supports:
    • dry-running (where the delegate archiver is never actually called)
    • prefixing (where all paths have a set global prefix prepended before addition)
    • duplication checks on archive additions (for archive-file path + prefix)
    • Field Detail

      • delegate

        private final org.codehaus.plexus.archiver.Archiver delegate
      • inPublicApi

        private final java.lang.ThreadLocal<java.lang.Boolean> inPublicApi
      • logger

        private final org.codehaus.plexus.logging.Logger logger
      • assemblyWorkPath

        private final java.lang.String assemblyWorkPath
      • rootPrefix

        private java.lang.String rootPrefix
      • selectors

        private org.codehaus.plexus.components.io.fileselectors.FileSelector[] selectors
      • forced

        private boolean forced
      • useJvmChmod

        private boolean useJvmChmod
        Since:
        2.2
    • Constructor Detail

      • AssemblyProxyArchiver

        public AssemblyProxyArchiver​(java.lang.String rootPrefix,
                                     org.codehaus.plexus.archiver.Archiver delegate,
                                     java.util.List<ContainerDescriptorHandler> containerDescriptorHandlers,
                                     java.util.List<org.codehaus.plexus.components.io.fileselectors.FileSelector> extraSelectors,
                                     java.util.List<org.codehaus.plexus.archiver.ArchiveFinalizer> extraFinalizers,
                                     java.io.File assemblyWorkDir,
                                     org.codehaus.plexus.logging.Logger logger)
    • Method Detail

      • addArchivedFileSet

        public void addArchivedFileSet​(@Nonnull
                                       java.io.File archiveFile,
                                       java.lang.String prefix,
                                       java.lang.String[] includes,
                                       java.lang.String[] excludes)
        Specified by:
        addArchivedFileSet in interface org.codehaus.plexus.archiver.Archiver
      • debug

        private void debug​(java.lang.String message)
      • addArchivedFileSet

        public void addArchivedFileSet​(@Nonnull
                                       java.io.File archiveFile,
                                       java.lang.String prefix)
        Specified by:
        addArchivedFileSet in interface org.codehaus.plexus.archiver.Archiver
      • addArchivedFileSet

        public void addArchivedFileSet​(java.io.File archiveFile,
                                       java.lang.String[] includes,
                                       java.lang.String[] excludes)
        Specified by:
        addArchivedFileSet in interface org.codehaus.plexus.archiver.Archiver
      • addArchivedFileSet

        public void addArchivedFileSet​(@Nonnull
                                       java.io.File archiveFile)
        Specified by:
        addArchivedFileSet in interface org.codehaus.plexus.archiver.Archiver
      • addDirectory

        public void addDirectory​(@Nonnull
                                 java.io.File directory,
                                 java.lang.String prefix,
                                 java.lang.String[] includes,
                                 java.lang.String[] excludes)
        Specified by:
        addDirectory in interface org.codehaus.plexus.archiver.Archiver
      • addSymlink

        public void addSymlink​(java.lang.String symlinkName,
                               java.lang.String symlinkDestination)
        Specified by:
        addSymlink in interface org.codehaus.plexus.archiver.Archiver
      • addSymlink

        public void addSymlink​(java.lang.String symlinkName,
                               int permissions,
                               java.lang.String symlinkDestination)
        Specified by:
        addSymlink in interface org.codehaus.plexus.archiver.Archiver
      • addDirectory

        public void addDirectory​(@Nonnull
                                 java.io.File directory,
                                 java.lang.String prefix)
        Specified by:
        addDirectory in interface org.codehaus.plexus.archiver.Archiver
      • addDirectory

        public void addDirectory​(@Nonnull
                                 java.io.File directory,
                                 java.lang.String[] includes,
                                 java.lang.String[] excludes)
        Specified by:
        addDirectory in interface org.codehaus.plexus.archiver.Archiver
      • addDirectory

        public void addDirectory​(@Nonnull
                                 java.io.File directory)
        Specified by:
        addDirectory in interface org.codehaus.plexus.archiver.Archiver
      • addFile

        public void addFile​(@Nonnull
                            java.io.File inputFile,
                            @Nonnull
                            java.lang.String destFileName,
                            int permissions)
        Specified by:
        addFile in interface org.codehaus.plexus.archiver.Archiver
      • addFile

        public void addFile​(@Nonnull
                            java.io.File inputFile,
                            @Nonnull
                            java.lang.String destFileName)
        Specified by:
        addFile in interface org.codehaus.plexus.archiver.Archiver
      • createArchive

        public void createArchive()
                           throws java.io.IOException
        Specified by:
        createArchive in interface org.codehaus.plexus.archiver.Archiver
        Throws:
        java.io.IOException
      • getDefaultDirectoryMode

        public int getDefaultDirectoryMode()
        Specified by:
        getDefaultDirectoryMode in interface org.codehaus.plexus.archiver.Archiver
      • setDefaultDirectoryMode

        public void setDefaultDirectoryMode​(int mode)
        Specified by:
        setDefaultDirectoryMode in interface org.codehaus.plexus.archiver.Archiver
      • getDefaultFileMode

        public int getDefaultFileMode()
        Specified by:
        getDefaultFileMode in interface org.codehaus.plexus.archiver.Archiver
      • setDefaultFileMode

        public void setDefaultFileMode​(int mode)
        Specified by:
        setDefaultFileMode in interface org.codehaus.plexus.archiver.Archiver
      • getDestFile

        public java.io.File getDestFile()
        Specified by:
        getDestFile in interface org.codehaus.plexus.archiver.Archiver
      • setDestFile

        public void setDestFile​(java.io.File destFile)
        Specified by:
        setDestFile in interface org.codehaus.plexus.archiver.Archiver
      • getFiles

        public java.util.Map<java.lang.String,​org.codehaus.plexus.archiver.ArchiveEntry> getFiles()
        Specified by:
        getFiles in interface org.codehaus.plexus.archiver.Archiver
      • getIncludeEmptyDirs

        public boolean getIncludeEmptyDirs()
        Specified by:
        getIncludeEmptyDirs in interface org.codehaus.plexus.archiver.Archiver
      • setIncludeEmptyDirs

        public void setIncludeEmptyDirs​(boolean includeEmptyDirs)
        Specified by:
        setIncludeEmptyDirs in interface org.codehaus.plexus.archiver.Archiver
      • isForced

        public boolean isForced()
        Specified by:
        isForced in interface org.codehaus.plexus.archiver.Archiver
      • setForced

        public void setForced​(boolean forced)
        Specified by:
        setForced in interface org.codehaus.plexus.archiver.Archiver
      • isSupportingForced

        public boolean isSupportingForced()
        Specified by:
        isSupportingForced in interface org.codehaus.plexus.archiver.Archiver
      • setDotFileDirectory

        public void setDotFileDirectory​(java.io.File dotFileDirectory)
        Specified by:
        setDotFileDirectory in interface org.codehaus.plexus.archiver.Archiver
      • addArchivedFileSet

        public void addArchivedFileSet​(org.codehaus.plexus.archiver.ArchivedFileSet fileSet)
        Specified by:
        addArchivedFileSet in interface org.codehaus.plexus.archiver.Archiver
      • addArchivedFileSet

        public void addArchivedFileSet​(org.codehaus.plexus.archiver.ArchivedFileSet archivedFileSet,
                                       java.nio.charset.Charset charset)
        Specified by:
        addArchivedFileSet in interface org.codehaus.plexus.archiver.Archiver
      • addFileSet

        public void addFileSet​(@Nonnull
                               org.codehaus.plexus.archiver.FileSet fileSet)
        Specified by:
        addFileSet in interface org.codehaus.plexus.archiver.Archiver
      • doAddFileSet

        private void doAddFileSet​(org.codehaus.plexus.archiver.FileSet fs)
      • acceptFile

        private boolean acceptFile​(java.io.File inputFile)
      • addResource

        public void addResource​(org.codehaus.plexus.components.io.resources.PlexusIoResource resource,
                                java.lang.String destFileName,
                                int permissions)
        Specified by:
        addResource in interface org.codehaus.plexus.archiver.Archiver
      • addResources

        public void addResources​(org.codehaus.plexus.components.io.resources.PlexusIoResourceCollection resources)
        Specified by:
        addResources in interface org.codehaus.plexus.archiver.Archiver
      • getResources

        @Nonnull
        public org.codehaus.plexus.archiver.ResourceIterator getResources()
        Specified by:
        getResources in interface org.codehaus.plexus.archiver.Archiver
      • getDuplicateBehavior

        public java.lang.String getDuplicateBehavior()
        Specified by:
        getDuplicateBehavior in interface org.codehaus.plexus.archiver.Archiver
      • setDuplicateBehavior

        public void setDuplicateBehavior​(java.lang.String duplicate)
        Specified by:
        setDuplicateBehavior in interface org.codehaus.plexus.archiver.Archiver
      • getDirectoryMode

        public int getDirectoryMode()
        Specified by:
        getDirectoryMode in interface org.codehaus.plexus.archiver.Archiver
      • setDirectoryMode

        public void setDirectoryMode​(int mode)
        Specified by:
        setDirectoryMode in interface org.codehaus.plexus.archiver.Archiver
      • getFileMode

        public int getFileMode()
        Specified by:
        getFileMode in interface org.codehaus.plexus.archiver.Archiver
      • setFileMode

        public void setFileMode​(int mode)
        Specified by:
        setFileMode in interface org.codehaus.plexus.archiver.Archiver
      • getOverrideDirectoryMode

        public int getOverrideDirectoryMode()
        Specified by:
        getOverrideDirectoryMode in interface org.codehaus.plexus.archiver.Archiver
      • getOverrideFileMode

        public int getOverrideFileMode()
        Specified by:
        getOverrideFileMode in interface org.codehaus.plexus.archiver.Archiver
      • isUseJvmChmod

        public boolean isUseJvmChmod()
        Specified by:
        isUseJvmChmod in interface org.codehaus.plexus.archiver.Archiver
      • setUseJvmChmod

        public void setUseJvmChmod​(boolean useJvmChmod)
        Specified by:
        setUseJvmChmod in interface org.codehaus.plexus.archiver.Archiver
      • isIgnorePermissions

        public boolean isIgnorePermissions()
        Specified by:
        isIgnorePermissions in interface org.codehaus.plexus.archiver.Archiver
      • setIgnorePermissions

        public void setIgnorePermissions​(boolean ignorePermissions)
        Specified by:
        setIgnorePermissions in interface org.codehaus.plexus.archiver.Archiver
      • setLastModifiedDate

        public void setLastModifiedDate​(java.util.Date lastModifiedDate)
        Specified by:
        setLastModifiedDate in interface org.codehaus.plexus.archiver.Archiver
      • getLastModifiedDate

        public java.util.Date getLastModifiedDate()
        Specified by:
        getLastModifiedDate in interface org.codehaus.plexus.archiver.Archiver
      • setFilenameComparator

        public void setFilenameComparator​(java.util.Comparator<java.lang.String> filenameComparator)
        Specified by:
        setFilenameComparator in interface org.codehaus.plexus.archiver.Archiver
      • setOverrideUid

        public void setOverrideUid​(int uid)
        Specified by:
        setOverrideUid in interface org.codehaus.plexus.archiver.Archiver
      • setOverrideUserName

        public void setOverrideUserName​(java.lang.String userName)
        Specified by:
        setOverrideUserName in interface org.codehaus.plexus.archiver.Archiver
      • getOverrideUid

        public int getOverrideUid()
        Specified by:
        getOverrideUid in interface org.codehaus.plexus.archiver.Archiver
      • getOverrideUserName

        public java.lang.String getOverrideUserName()
        Specified by:
        getOverrideUserName in interface org.codehaus.plexus.archiver.Archiver
      • setOverrideGid

        public void setOverrideGid​(int gid)
        Specified by:
        setOverrideGid in interface org.codehaus.plexus.archiver.Archiver
      • setOverrideGroupName

        public void setOverrideGroupName​(java.lang.String groupName)
        Specified by:
        setOverrideGroupName in interface org.codehaus.plexus.archiver.Archiver
      • getOverrideGid

        public int getOverrideGid()
        Specified by:
        getOverrideGid in interface org.codehaus.plexus.archiver.Archiver
      • getOverrideGroupName

        public java.lang.String getOverrideGroupName()
        Specified by:
        getOverrideGroupName in interface org.codehaus.plexus.archiver.Archiver
      • configureReproducible

        public void configureReproducible​(java.util.Date lastModifiedDate)
        Specified by:
        configureReproducible in interface org.codehaus.plexus.archiver.Archiver