Class AbstractAssemblyMojo

    • Field Summary

      Fields 
      Modifier and Type Field Description
      (package private) boolean appendAssemblyId
      Set to false to exclude the assembly id from the assembly final name, and to create the resultant assembly artifacts without classifier.
      private org.apache.maven.archiver.MavenArchiveConfiguration archive
      This is a set of instructions to the archive builder, especially for building .jar files.
      private java.io.File archiveBaseDirectory
      This is the base directory from which archive files are created.
      private org.codehaus.plexus.configuration.PlexusConfiguration archiverConfig
      Allows additional configuration options that are specific to a particular type of archive format.
      private AssemblyArchiver assemblyArchiver  
      private AssemblyReader assemblyReader  
      private boolean attach
      Controls whether the assembly plugin tries to attach the resulting assembly to the project.
      private java.io.File basedir
      Base directory of the project.
      protected org.codehaus.plexus.interpolation.fixed.FixedStringSearchInterpolator commandLinePropertiesInterpolator  
      private java.util.List<java.lang.String> delimiters
      Set of delimiters for expressions to filter within the resources.
      private java.lang.String[] descriptorRefs
      A list of references to assembly descriptors available on the plugin's classpath.
      private java.lang.String[] descriptors
      A list of descriptor files to generate from.
      private java.io.File descriptorSourceDirectory
      Directory to scan for descriptor files in.
      private boolean dryRun
      If this flag is set, everything up to the call to Archiver.createArchive() will be executed.
      private java.lang.String encoding
      The character encoding scheme to be applied when filtering resources.
      protected org.codehaus.plexus.interpolation.fixed.FixedStringSearchInterpolator envInterpolator  
      private java.lang.String escapeString
      Expressions preceded with this String won't be interpolated.
      private java.util.List<java.lang.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.
      private java.lang.String finalName
      The filename of the assembled distribution file.
      private java.util.List<java.lang.String> formats
      Specifies the formats of the assembly.
      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'.
      private boolean ignoreMissingDescriptor
      Set to true in order to not fail when a descriptor is missing.
      private boolean ignorePermissions
      Set to true in order to avoid all chmod calls.
      private boolean includeProjectBuildFilters
      If True (default) then the ${project.build.filters} are also used in addition to any further filters defined for the Assembly.
      private org.apache.maven.artifact.repository.ArtifactRepository localRepository
      Local Maven repository where artifacts are cached during the build process.
      protected org.codehaus.plexus.interpolation.fixed.FixedStringSearchInterpolator mainProjectInterpolator  
      private org.apache.maven.shared.filtering.MavenReaderFilter mavenReaderFilter
      Maven shared filtering utility.
      private org.apache.maven.execution.MavenSession mavenSession
      The Maven Session Object
      private java.lang.String mergeManifestMode
      sets the merge manifest mode in the JarArchiver
      private java.io.File outputDirectory
      The output directory of the assembled distribution file.
      private org.apache.maven.project.MavenProjectHelper projectHelper
      Maven ProjectHelper.
      private java.util.List<org.apache.maven.project.MavenProject> reactorProjects
      Contains the full list of projects in the reactor.
      private boolean recompressZippedFiles
      Indicates if zip archives (jar,zip etc) being added to the assembly should be compressed again.
      private java.util.List<org.apache.maven.artifact.repository.ArtifactRepository> remoteRepositories  
      protected org.codehaus.plexus.interpolation.fixed.FixedStringSearchInterpolator rootInterpolator  
      private boolean runOnlyAtExecutionRoot
      This will cause the assembly to run only at the top of a given module tree.
      private java.io.File siteDirectory
      Directory for site generated.
      private boolean skipAssembly
      Flag allowing one or more executions of the assembly plugin to be configured as skipped for a particular build.
      private java.lang.String tarLongFileMode
      Sets the TarArchiver behavior on file paths with more than 100 characters length.
      private java.io.File tempRoot
      Temporary directory that contain the files to be assembled.
      private boolean updateOnly
      This will cause the assembly to only update an existing archive, if it exists.
      private boolean useJvmChmod
      Deprecated.
      Not used anymore and will be removed in future version
      private java.io.File workDirectory
      Directory to unpack JARs into if needed
      • Fields inherited from interface org.apache.maven.plugin.Mojo

        ROLE
    • Field Detail

      • 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 java.lang.String encoding
        The character encoding scheme to be applied when filtering resources.
      • escapeString

        @Parameter(property="assembly.escapeString")
        private java.lang.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 java.util.List<org.apache.maven.artifact.repository.ArtifactRepository> remoteRepositories
      • reactorProjects

        @Parameter(defaultValue="${reactorProjects}",
                   required=true,
                   readonly=true)
        private java.util.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 java.io.File outputDirectory
        The output directory of the assembled distribution file.
      • finalName

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

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

        @Parameter
        private java.util.List<java.lang.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 java.lang.String[] descriptors
        A list of descriptor files to generate from.
      • descriptorRefs

        @Parameter
        private java.lang.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 java.io.File descriptorSourceDirectory
        Directory to scan for descriptor files in. NOTE: This may not work correctly with assembly components.
      • archiveBaseDirectory

        @Parameter
        private java.io.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 java.lang.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 java.io.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 java.io.File tempRoot
        Temporary directory that contain the files to be assembled.
      • siteDirectory

        @Parameter(defaultValue="${project.reporting.outputDirectory}",
                   readonly=true)
        private java.io.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 java.util.List<java.lang.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.
      • 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 java.lang.String mergeManifestMode
        sets the merge manifest mode in the JarArchiver
        Since:
        3
      • 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.
        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 java.util.List<java.lang.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
    • Constructor Detail

      • AbstractAssemblyMojo

        public AbstractAssemblyMojo()
    • Method Detail

      • mainProjectInterpolator

        public static org.codehaus.plexus.interpolation.fixed.FixedStringSearchInterpolator mainProjectInterpolator​(org.apache.maven.project.MavenProject mainProject)
      • execute

        public void execute()
                     throws org.apache.maven.plugin.MojoExecutionException,
                            org.apache.maven.plugin.MojoFailureException
        Create the binary distribution.
        Specified by:
        execute in interface org.apache.maven.plugin.Mojo
        Throws:
        org.apache.maven.plugin.MojoExecutionException
        org.apache.maven.plugin.MojoFailureException
      • createRepositoryInterpolator

        private org.codehaus.plexus.interpolation.fixed.FixedStringSearchInterpolator createRepositoryInterpolator()
      • createCommandLinePropertiesInterpolator

        private org.codehaus.plexus.interpolation.fixed.FixedStringSearchInterpolator createCommandLinePropertiesInterpolator()
      • createEnvInterpolator

        private org.codehaus.plexus.interpolation.fixed.FixedStringSearchInterpolator createEnvInterpolator()
      • isThisTheExecutionRoot

        boolean isThisTheExecutionRoot()
        Returns true if the current project is located at the Execution Root Directory (where mvn was launched)
        Returns:
        if this is the execution root
      • setBasedir

        public void setBasedir​(java.io.File basedir)
      • setDescriptors

        public void setDescriptors​(java.lang.String[] descriptors)
      • setSiteDirectory

        public void setSiteDirectory​(java.io.File siteDirectory)
      • setFinalName

        public void setFinalName​(java.lang.String finalName)
      • setTarLongFileMode

        public void setTarLongFileMode​(java.lang.String tarLongFileMode)
      • setOutputDirectory

        public void setOutputDirectory​(java.io.File outputDirectory)
      • setLocalRepository

        public void setLocalRepository​(org.apache.maven.artifact.repository.ArtifactRepository localRepository)
      • setFilters

        public void setFilters​(java.util.List<java.lang.String> filters)
      • setReactorProjects

        public void setReactorProjects​(java.util.List<org.apache.maven.project.MavenProject> reactorProjects)
      • setAppendAssemblyId

        public void setAppendAssemblyId​(boolean appendAssemblyId)
      • setArchive

        public void setArchive​(org.apache.maven.archiver.MavenArchiveConfiguration archive)
      • setDescriptorRefs

        public void setDescriptorRefs​(java.lang.String[] descriptorRefs)
      • setTempRoot

        public void setTempRoot​(java.io.File tempRoot)
      • setWorkDirectory

        public void setWorkDirectory​(java.io.File workDirectory)
      • isRecompressZippedFiles

        boolean isRecompressZippedFiles()
      • getMergeManifestMode

        public java.lang.String getMergeManifestMode()
      • setDelimiters

        public void setDelimiters​(java.util.List<java.lang.String> delimiters)