Class DefaultAssemblyArchiver

java.lang.Object
org.apache.maven.plugins.assembly.archive.DefaultAssemblyArchiver
All Implemented Interfaces:
AssemblyArchiver

@Named public class DefaultAssemblyArchiver extends Object implements 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.
  • Constructor Details

  • Method Details

    • createArchive

      public File createArchive(Assembly assembly, String fullName, String format, AssemblerConfigurationSource configSource, boolean recompressZippedFiles, String mergeManifestMode, Date outputTimestamp) throws ArchiveCreationException, AssemblyFormattingException, InvalidAssemblerConfigurationException
      Create the assembly archive. Generally:
      1. Setup any directory structures for temporary files
      2. Calculate the output directory/file for the assembly
      3. Setup any handler components for special descriptor files we may encounter
      4. Lookup and configure the Archiver to be used
      5. 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.
      6. 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 interface AssemblyArchiver
      Parameters:
      assembly - The Assembly
      fullName - The full name.
      format - The format.
      configSource - The AssemblerConfigurationSource
      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 fails
      AssemblyFormattingException - when formatting fails
      InvalidAssemblerConfigurationException - when the configuration is bad
    • createArchiver

      protected org.codehaus.plexus.archiver.Archiver createArchiver(String format, boolean includeBaseDir, String finalName, AssemblerConfigurationSource configSource, List<ContainerDescriptorHandler> containerHandlers, boolean recompressZippedFiles, String mergeManifestMode, Date outputTimestamp) throws org.codehaus.plexus.archiver.manager.NoSuchArchiverException
      Creates the necessary archiver to build the distribution file.
      Parameters:
      format - Archive format
      includeBaseDir - the base directory for include.
      finalName - The final name.
      configSource - AssemblerConfigurationSource
      containerHandlers - The list of ContainerDescriptorHandler
      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
    • createWarArchiver

      protected org.codehaus.plexus.archiver.Archiver createWarArchiver() throws org.codehaus.plexus.archiver.manager.NoSuchArchiverException
      Throws:
      org.codehaus.plexus.archiver.manager.NoSuchArchiverException
    • createTarArchiver

      protected org.codehaus.plexus.archiver.Archiver createTarArchiver(String format, org.codehaus.plexus.archiver.tar.TarLongFileMode tarLongFileMode) throws org.codehaus.plexus.archiver.manager.NoSuchArchiverException
      Throws:
      org.codehaus.plexus.archiver.manager.NoSuchArchiverException