Class AbstractAssemblyMojo

java.lang.Object
org.apache.maven.plugin.AbstractMojo
org.apache.maven.plugins.assembly.mojos.AbstractAssemblyMojo
All Implemented Interfaces:
org.apache.maven.plugin.ContextEnabled, org.apache.maven.plugin.Mojo, AssemblerConfigurationSource
Direct Known Subclasses:
SingleAssemblyMojo

public abstract class AbstractAssemblyMojo extends org.apache.maven.plugin.AbstractMojo implements AssemblerConfigurationSource
  • Field Details

    • commandLinePropertiesInterpolator

      protected org.codehaus.plexus.interpolation.fixed.FixedStringSearchInterpolator commandLinePropertiesInterpolator
    • envInterpolator

      protected org.codehaus.plexus.interpolation.fixed.FixedStringSearchInterpolator envInterpolator
    • mainProjectInterpolator

      protected org.codehaus.plexus.interpolation.fixed.FixedStringSearchInterpolator mainProjectInterpolator
    • rootInterpolator

      protected org.codehaus.plexus.interpolation.fixed.FixedStringSearchInterpolator rootInterpolator
    • appendAssemblyId

      @Parameter(property="assembly.appendAssemblyId", defaultValue="true") boolean appendAssemblyId
      Set to false to exclude the assembly id from the assembly final name, and to create the resultant assembly artifacts without classifier. As such, an assembly artifact having the same format as the packaging of the current Maven project will replace the file for this main project artifact.
    • encoding

      @Parameter(property="encoding", defaultValue="${project.build.sourceEncoding}") private String encoding
      The character encoding scheme to be applied when filtering resources.
    • escapeString

      @Parameter(property="assembly.escapeString") private String escapeString
      Expressions preceded with this String won't be interpolated. If you use "\" as the escape string then \${foo} will be replaced with ${foo}.
      Since:
      2.4
    • skipAssembly

      @Parameter(property="assembly.skipAssembly", defaultValue="false") private boolean skipAssembly
      Flag allowing one or more executions of the assembly plugin to be configured as skipped for a particular build. This makes the assembly plugin more controllable from profiles.
    • dryRun

      @Parameter(property="assembly.dryRun", defaultValue="false") private boolean dryRun
      If this flag is set, everything up to the call to Archiver.createArchive() will be executed.
    • ignoreDirFormatExtensions

      @Parameter(defaultValue="true") private boolean ignoreDirFormatExtensions
      If this flag is set, the ".dir" suffix will be suppressed in the output directory name when using assembly/format == 'dir' and other formats that begin with 'dir'.
      NOTE: Since 2.2-beta-3, the default-value for this is true, NOT false as it used to be.
    • localRepository

      @Parameter(defaultValue="${localRepository}", required=true, readonly=true) private org.apache.maven.artifact.repository.ArtifactRepository localRepository
      Local Maven repository where artifacts are cached during the build process.
    • remoteRepositories

      @Parameter(defaultValue="${project.remoteArtifactRepositories}", required=true, readonly=true) private List<org.apache.maven.artifact.repository.ArtifactRepository> remoteRepositories
    • reactorProjects

      @Parameter(defaultValue="${reactorProjects}", required=true, readonly=true) private List<org.apache.maven.project.MavenProject> reactorProjects
      Contains the full list of projects in the reactor.
    • outputDirectory

      @Parameter(defaultValue="${project.build.directory}", required=true) private File outputDirectory
      The output directory of the assembled distribution file.
    • finalName

      @Parameter(defaultValue="${project.build.finalName}", required=true, readonly=true) private String finalName
      The filename of the assembled distribution file.
    • workDirectory

      @Parameter(defaultValue="${project.build.directory}/assembly/work", required=true) private File workDirectory
      Directory to unpack JARs into if needed
    • formats

      @Parameter private List<String> formats
      Specifies the formats of the assembly. Multiple formats can be supplied and the Assembly Plugin will generate an archive for each desired formats. When deploying your project, all file formats specified will also be deployed. A format is specified by supplying one of the following values in a <format> subelement:
      • dir - Creates a directory
      • zip - Creates a ZIP file format
      • tar - Creates a TAR format
      • tar.gz or tgz - Creates a gzip'd TAR format
      • tar.bz2 or tbz2 - Creates a bzip'd TAR format
      • tar.snappy - Creates a snappy'd TAR format
      • tar.xz or txz - Creates a xz'd TAR format
    • descriptors

      @Parameter private String[] descriptors
      A list of descriptor files to generate from.
    • descriptorRefs

      @Parameter private String[] descriptorRefs
      A list of references to assembly descriptors available on the plugin's classpath. The default classpath includes these built-in descriptors: bin, jar-with-dependencies, src, and project. You can add others by adding dependencies to the plugin.
    • descriptorSourceDirectory

      @Parameter private File descriptorSourceDirectory
      Directory to scan for descriptor files in. NOTE: This may not work correctly with assembly components.
    • archiveBaseDirectory

      @Parameter private File archiveBaseDirectory
      This is the base directory from which archive files are created. This base directory pre-pended to any <directory> specifications in the assembly descriptor. This is an optional parameter.
    • tarLongFileMode

      @Parameter(property="assembly.tarLongFileMode", defaultValue="warn") private String tarLongFileMode
      Sets the TarArchiver behavior on file paths with more than 100 characters length. Valid values are: "warn" (default), "fail", "truncate", "gnu", "posix", "posix_warn" or "omit".
    • basedir

      @Parameter(defaultValue="${project.basedir}", required=true, readonly=true) private File basedir
      Base directory of the project.
    • projectHelper

      @Component private org.apache.maven.project.MavenProjectHelper projectHelper
      Maven ProjectHelper.
    • mavenReaderFilter

      @Component private org.apache.maven.shared.filtering.MavenReaderFilter mavenReaderFilter
      Maven shared filtering utility.
    • mavenSession

      @Parameter(defaultValue="${session}", readonly=true, required=true) private org.apache.maven.execution.MavenSession mavenSession
      The Maven Session Object
    • tempRoot

      @Parameter(defaultValue="${project.build.directory}/archive-tmp", required=true, readonly=true) private File tempRoot
      Temporary directory that contain the files to be assembled.
    • siteDirectory

      @Parameter(defaultValue="${project.reporting.outputDirectory}", readonly=true) private File siteDirectory
      Directory for site generated.
    • ignoreMissingDescriptor

      @Parameter(property="assembly.ignoreMissingDescriptor", defaultValue="false") private boolean ignoreMissingDescriptor
      Set to true in order to not fail when a descriptor is missing.
    • archive

      @Parameter private org.apache.maven.archiver.MavenArchiveConfiguration archive
      This is a set of instructions to the archive builder, especially for building .jar files. It enables you to specify a Manifest file for the jar, in addition to other options. See Maven Archiver Reference.
    • filters

      @Parameter private List<String> filters
      The list of extra filter properties files to be used along with System properties, project properties, and filter properties files specified in the POM build/filters section, which should be used for the filtering during the current mojo execution.
      Normally, these will be configured from a plugin's execution section, to provide a different set of filters for a particular execution.
    • additionalProperties

      @Parameter private Properties additionalProperties
      A set of additional properties to use for filtering
      Since:
      3.3.0
    • includeProjectBuildFilters

      @Parameter(property="assembly.includeProjectBuildFilters", defaultValue="true") private boolean includeProjectBuildFilters
      If True (default) then the ${project.build.filters} are also used in addition to any further filters defined for the Assembly.
      Since:
      2.4.2
    • attach

      @Parameter(property="assembly.attach", defaultValue="true") private boolean attach
      Controls whether the assembly plugin tries to attach the resulting assembly to the project.
      Since:
      2.2-beta-1
    • recompressZippedFiles

      @Parameter(defaultValue="true") private boolean recompressZippedFiles
      Indicates if zip archives (jar,zip etc) being added to the assembly should be compressed again. Compressing again can result in smaller archive size, but gives noticeably longer execution time.
      Since:
      2.4
    • mergeManifestMode

      @Parameter private String mergeManifestMode
      sets the merge manifest mode in the JarArchiver
      Since:
      3
    • assemblyArchiver

      @Component private AssemblyArchiver assemblyArchiver
    • assemblyReader

      @Component private AssemblyReader assemblyReader
    • archiverConfig

      @Parameter private org.codehaus.plexus.configuration.PlexusConfiguration archiverConfig
      Allows additional configuration options that are specific to a particular type of archive format. This is intended to capture an XML configuration that will be used to reflectively setup the options on the archiver instance.
      To see the possible options for archiver configuration visit the Plexus Archiver Documentation
      For instance, to direct an assembly with the "ear" format to use a particular deployment descriptor, you should specify the following for the archiverConfig value in your plugin configuration:

       <appxml>${project.basedir}/somepath/app.xml</appxml>
       

      Since:
      2.2-beta-3
    • runOnlyAtExecutionRoot

      @Parameter(property="assembly.runOnlyAtExecutionRoot", defaultValue="false") private boolean runOnlyAtExecutionRoot
      This will cause the assembly to run only at the top of a given module tree. That is, run in the project contained in the same folder where the mvn execution was launched.
      Since:
      2.2-beta-4
    • updateOnly

      @Parameter(property="assembly.updateOnly", defaultValue="false") private boolean updateOnly
      This will cause the assembly to only update an existing archive, if it exists.

      Note: The property that can be used on the command line was misspelled as "assembly.updatOnly" in versions prior to version 2.4.

      Since:
      2.2
    • useJvmChmod

      @Parameter(property="assembly.useJvmChmod", defaultValue="false") private boolean useJvmChmod
      Deprecated.
      Not used anymore and will be removed in future version
      Since:
      2.2
    • ignorePermissions

      @Parameter(property="assembly.ignorePermissions", defaultValue="false") private boolean ignorePermissions

      Set to true in order to avoid all chmod calls.

      NOTE: This will cause the assembly plugin to DISREGARD all fileMode/directoryMode settings in the assembly descriptor, and all file permissions in unpacked dependencies!

      Since:
      2.2
    • delimiters

      @Parameter private List<String> delimiters

      Set of delimiters for expressions to filter within the resources. These delimiters are specified in the form 'beginToken*endToken'. If no '*' is given, the delimiter is assumed to be the same for start and end.

      So, the default filtering delimiters might be specified as:

       <delimiters>
         <delimiter>${*}</delimiter>
         <delimiter>@</delimiter>
       </delimiters>
       

      Since the '@' delimiter is the same on both ends, we don't need to specify '@*@' (though we can).

      Since:
      2.4
    • outputTimestamp

      @Parameter(defaultValue="${project.build.outputTimestamp}") private String outputTimestamp
      Timestamp for reproducible output archive entries, either formatted as ISO 8601 yyyy-MM-dd'T'HH:mm:ssXXX or as an int representing seconds since the epoch (like SOURCE_DATE_EPOCH).
      Since:
      3.2.0
    • overrideUid

      @Parameter private Integer overrideUid
      Override of user ID in archive type which can store it.
    • overrideUserName

      @Parameter private String overrideUserName
      Override of user name in archive type which can store it.
    • overrideGid

      @Parameter private Integer overrideGid
      Override of group ID in archive type which can store it.
    • overrideGroupName

      @Parameter private String overrideGroupName
      Override of group name in archive type which can store it.
  • Constructor Details

    • AbstractAssemblyMojo

      public AbstractAssemblyMojo()
  • Method Details