Class DefaultAssemblyArchiver
java.lang.Object
org.apache.maven.plugins.assembly.archive.DefaultAssemblyArchiver
- All Implemented Interfaces:
AssemblyArchiver
Controller component designed to organize the many activities involved in creating an assembly archive. This includes
locating and configuring
Archiver
instances, executing multiple .archive.phase.AssemblyArchiverPhase
instances to
interpret the various sections of the assembly descriptor and determine which files to add, and other associated
activities.-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final org.codehaus.plexus.archiver.manager.ArchiverManager
private final List
<AssemblyArchiverPhase> private final org.codehaus.plexus.PlexusContainer
private final Map
<String, ContainerDescriptorHandler> private static final org.slf4j.Logger
-
Constructor Summary
ConstructorsConstructorDescriptionDefaultAssemblyArchiver
(org.codehaus.plexus.archiver.manager.ArchiverManager archiverManager, List<AssemblyArchiverPhase> assemblyPhases, Map<String, ContainerDescriptorHandler> containerDescriptorHandlers, org.codehaus.plexus.PlexusContainer container) -
Method Summary
Modifier and TypeMethodDescriptionprivate void
configureArchiver
(org.codehaus.plexus.archiver.Archiver archiver, AssemblerConfigurationSource configSource) private void
configureComponent
(Object component, org.codehaus.plexus.util.xml.Xpp3Dom config, AssemblerConfigurationSource configSource) private void
configureContainerDescriptorHandler
(ContainerDescriptorHandler handler, org.codehaus.plexus.util.xml.Xpp3Dom config, AssemblerConfigurationSource configSource) private void
configureJarArchiver
(org.codehaus.plexus.archiver.jar.JarArchiver archiver, String mergeManifestMode) createArchive
(Assembly assembly, String fullName, String format, AssemblerConfigurationSource configSource, boolean recompressZippedFiles, String mergeManifestMode, FileTime outputTimestamp) Create the assembly archive.protected org.codehaus.plexus.archiver.Archiver
createArchiver
(String format, boolean includeBaseDir, String finalName, AssemblerConfigurationSource configSource, List<ContainerDescriptorHandler> containerHandlers, boolean recompressZippedFiles, String mergeManifestMode, FileTime outputTimestamp) Creates the necessary archiver to build the distribution file.protected org.codehaus.plexus.archiver.Archiver
private Object[]
private List
<ContainerDescriptorHandler> selectContainerDescriptorHandlers
(List<ContainerDescriptorHandlerConfig> requestedContainerDescriptorHandlers, AssemblerConfigurationSource configSource) private List
<AssemblyArchiverPhase> private void
-
Field Details
-
LOGGER
private static final org.slf4j.Logger LOGGER -
archiverManager
private final org.codehaus.plexus.archiver.manager.ArchiverManager archiverManager -
assemblyPhases
-
containerDescriptorHandlers
-
container
private final org.codehaus.plexus.PlexusContainer container
-
-
Constructor Details
-
DefaultAssemblyArchiver
@Inject public DefaultAssemblyArchiver(org.codehaus.plexus.archiver.manager.ArchiverManager archiverManager, List<AssemblyArchiverPhase> assemblyPhases, Map<String, ContainerDescriptorHandler> containerDescriptorHandlers, org.codehaus.plexus.PlexusContainer container)
-
-
Method Details
-
sortedPhases
-
createArchive
public File createArchive(Assembly assembly, String fullName, String format, AssemblerConfigurationSource configSource, boolean recompressZippedFiles, String mergeManifestMode, FileTime outputTimestamp) throws ArchiveCreationException, AssemblyFormattingException, InvalidAssemblerConfigurationException Create the assembly archive. Generally:- Setup any directory structures for temporary files
- Calculate the output directory/file for the assembly
- Setup any handler components for special descriptor files we may encounter
- Lookup and configure the
Archiver
to be used - Determine what, if any, dependency resolution will be required, and resolve any dependency-version conflicts up front to produce a managed-version map for the whole assembly process.
- Iterate through the available
AssemblyArchiverPhase
instances, executing each to handle a different top-level section of the assembly descriptor, if that section is present.
- Specified by:
createArchive
in interfaceAssemblyArchiver
- Parameters:
assembly
- TheAssembly
fullName
- The full name.format
- The format.configSource
- TheAssemblerConfigurationSource
recompressZippedFiles
- recompress zipped files.mergeManifestMode
- How to handle already existing Manifest files (skip, merge, mergewithoutmain)outputTimestamp
- Timestamp for reproducible archive entries- Returns:
- The resulting archive file.
- Throws:
ArchiveCreationException
- when creation failsAssemblyFormattingException
- when formatting failsInvalidAssemblerConfigurationException
- when the configuration is bad
-
validate
-
selectContainerDescriptorHandlers
private List<ContainerDescriptorHandler> selectContainerDescriptorHandlers(List<ContainerDescriptorHandlerConfig> requestedContainerDescriptorHandlers, AssemblerConfigurationSource configSource) throws InvalidAssemblerConfigurationException -
createArchiver
protected org.codehaus.plexus.archiver.Archiver createArchiver(String format, boolean includeBaseDir, String finalName, AssemblerConfigurationSource configSource, List<ContainerDescriptorHandler> containerHandlers, boolean recompressZippedFiles, String mergeManifestMode, FileTime outputTimestamp) throws org.codehaus.plexus.archiver.manager.NoSuchArchiverException Creates the necessary archiver to build the distribution file.- Parameters:
format
- Archive formatincludeBaseDir
- the base directory for include.finalName
- The final name.configSource
-AssemblerConfigurationSource
containerHandlers
- The list ofContainerDescriptorHandler
recompressZippedFiles
- recompress zipped files.mergeManifestMode
- how to handle already existing Manifest files- Returns:
- archiver Archiver generated
- Throws:
org.codehaus.plexus.archiver.ArchiverException
org.codehaus.plexus.archiver.manager.NoSuchArchiverException
-
configureJarArchiver
private void configureJarArchiver(org.codehaus.plexus.archiver.jar.JarArchiver archiver, String mergeManifestMode) -
configureContainerDescriptorHandler
private void configureContainerDescriptorHandler(ContainerDescriptorHandler handler, org.codehaus.plexus.util.xml.Xpp3Dom config, AssemblerConfigurationSource configSource) throws InvalidAssemblerConfigurationException -
configureArchiver
private void configureArchiver(org.codehaus.plexus.archiver.Archiver archiver, AssemblerConfigurationSource configSource) -
configureComponent
private void configureComponent(Object component, org.codehaus.plexus.util.xml.Xpp3Dom config, AssemblerConfigurationSource configSource) throws org.codehaus.plexus.component.repository.exception.ComponentLookupException, org.codehaus.plexus.component.configurator.ComponentConfigurationException - Throws:
org.codehaus.plexus.component.repository.exception.ComponentLookupException
org.codehaus.plexus.component.configurator.ComponentConfigurationException
-
getContainerRealm
-
createTarZstArchiver
protected org.codehaus.plexus.archiver.Archiver createTarZstArchiver() throws org.codehaus.plexus.archiver.manager.NoSuchArchiverException- Throws:
org.codehaus.plexus.archiver.manager.NoSuchArchiverException
-