A definition of an assembly. This descriptor specifies the type of assembly archive to create, the contents of the assembly, and the ways in which dependencies are bundled with an assembly.
An assembly defines a collection of files usually distributed in an archive format such as zip, tar, or tar.gz that is generated from a project. For example, a project could produce a ZIP assembly which contains a project's JAR artifact in the root directory, the runtime dependencies in a lib/ directory, and a shell script to launch a stand-alone application.
<assembly> <id/> <formats/> <includeBaseDirectory/> <includeSiteDirectory/> <moduleSets> <moduleSet> <includes/> <excludes/> <sources> <outputDirectory/> <includes/> <excludes/> <fileMode/> <directoryMode/> </sources> <binaries> <includeDependencies/> <unpack/> <outputFileNameMapping/> <outputDirectory/> <includes/> <excludes/> <fileMode/> <directoryMode/> </binaries> </moduleSet> </moduleSets> <fileSets> <fileSet> <directory/> <lineEnding/> <outputDirectory/> <includes/> <excludes/> <fileMode/> <directoryMode/> </fileSet> </fileSets> <files> <file> <source/> <outputDirectory/> <destName/> <fileMode/> <lineEnding/> <filtered/> </file> </files> <dependencySets> <dependencySet> <outputFileNameMapping/> <unpack/> <scope/> <outputDirectory/> <includes/> <excludes/> <fileMode/> <directoryMode/> </dependencySet> </dependencySets> <repositories> <repository> <includeMetadata/> <groupVersionAlignments> <groupVersionAlignment> <id/> <version/> <excludes/> </groupVersionAlignment> </groupVersionAlignments> <outputDirectory/> <includes/> <excludes/> <fileMode/> <directoryMode/> </repository> </repositories> <componentDescriptors/> </assembly>
Describes the assembly layout and packaging.
Element | Description |
---|---|
id
|
The id of this assembly. This is a symbolic name for a particular assembly of files from this project. |
formats
|
Specify the formats of the assembly. A format is specified by
supplying one of the following values in a <format> subelement:
|
includeBaseDirectory
|
Includes a base directory in the final archive. For example,
if you are creating an assembly named "your-app", setting
includeBaseDirectory to true will create an archive that
includes this base directory. If this option is set to false
the archive created will unzip its content to the current
directory.
The default value is true . |
includeSiteDirectory
|
No description. The default value is false . |
moduleSets
|
Specify which modules source files to include in the assembly |
fileSets
|
Specify assembly parameters for groups of files. |
files
|
Specify assembly parameters for single files. |
dependencySets
|
Specify assembly behavior for sets of dependencies. |
repositories
|
Specify assembly behavior for sets of repositories. |
componentDescriptors
|
File relative to basedir containing Component. |
Element | Description |
---|---|
includes
|
This is a list of <include> elements, each containing a module reference of the type groupId:artifactId. Modules matching these elements will be included in this set. |
excludes
|
This is a list of <exclude> elements, each containing a module reference of the type groupId:artifactId. Modules matching these elements will be excluded from this set. |
sources
|
When this is configured, the plugin will include the source files of the included modules from this set in the resulting assembly, according to the configuration. |
binaries
|
When this is configured, the plugin will include the binaries of the included modules from this set in the resulting assembly, according to the configuration. |
Element | Description |
---|---|
outputDirectory
|
Specifies the output directory relative to the root of the root directory of the assembly. For example, "log" will put the specified files in the log directory. |
includes
|
When <include> subelements are present, they define a set of files and directory to include. |
excludes
|
When <exclude> subelements are present, they define a set of files and directory to exclude. |
fileMode
|
Similar to a UNIX permission. Format: (User)(Group)(Other) where each
component is a sum of Read = 4, Write = 2, and Execute = 1. For example,
the default value of 0644 translates to User read-write, Group and Other
read-only.
(more on unix-style permissions)
The default value is 0644 . |
directoryMode
|
Similar to a UNIX permission. Format: (User)(Group)(Other) where each
component is a sum of Read = 4, Write = 2, and Execute = 1. For example,
the default value of 0644 translates to User read-write, Group and Other
read-only.
(more on unix-style permissions)
The default value is 0755 . |
Element | Description |
---|---|
includeDependencies
|
If set to true, the plugin will include the direct and transitive dependencies of
of the project modules included here. Otherwise, it will only include the module
packages only. Default value is false.
The default value is false . |
unpack
|
If set to true, this property will unpack all module packages
into the specified output directory. When set to false
module packages will be included as archives (jars).
Default value is true.
The default value is true . |
outputFileNameMapping
|
Specify the mapping pattern for all dependencies included
in this assembly.
Default is ${artifactId}-${version}.${extension}.
The default value is ${artifactId}-${version}.${extension} . |
outputDirectory
|
Specifies the output directory relative to the root of the root directory of the assembly. For example, "log" will put the specified files in the log directory. |
includes
|
When <include> subelements are present, they define a set of files and directory to include. |
excludes
|
When <exclude> subelements are present, they define a set of files and directory to exclude. |
fileMode
|
Similar to a UNIX permission. Format: (User)(Group)(Other) where each
component is a sum of Read = 4, Write = 2, and Execute = 1. For example,
the default value of 0644 translates to User read-write, Group and Other
read-only.
(more on unix-style permissions)
The default value is 0644 . |
directoryMode
|
Similar to a UNIX permission. Format: (User)(Group)(Other) where each
component is a sum of Read = 4, Write = 2, and Execute = 1. For example,
the default value of 0644 translates to User read-write, Group and Other
read-only.
(more on unix-style permissions)
The default value is 0755 . |
Element | Description |
---|---|
directory
|
Absolute or relative from the module's directory. For example, "src/main/bin" would select this subdirectory of the project in which this dependency is defined. |
lineEnding
|
Controls the line-endings of files in this fileSet.
Valid values:
|
outputDirectory
|
Specifies the output directory relative to the root of the root directory of the assembly. For example, "log" will put the specified files in the log directory. |
includes
|
When <include> subelements are present, they define a set of files and directory to include. |
excludes
|
When <exclude> subelements are present, they define a set of files and directory to exclude. |
fileMode
|
Similar to a UNIX permission. Format: (User)(Group)(Other) where each
component is a sum of Read = 4, Write = 2, and Execute = 1. For example,
the default value of 0644 translates to User read-write, Group and Other
read-only.
(more on unix-style permissions)
The default value is 0644 . |
directoryMode
|
Similar to a UNIX permission. Format: (User)(Group)(Other) where each
component is a sum of Read = 4, Write = 2, and Execute = 1. For example,
the default value of 0644 translates to User read-write, Group and Other
read-only.
(more on unix-style permissions)
The default value is 0755 . |
Element | Description |
---|---|
source
|
Absolute or relative from the module's directory. |
outputDirectory
|
Specifies the output directory relative to the root of the root directory of the assembly. For example, "log" will put the specified files in the log directory. |
destName
|
Destination file name in outputDirectory. Default is the same name as the source's file. |
fileMode
|
Similar to a UNIX permission. Format: (User)(Group)(Other) where each
component is a sum of Read = 4, Write = 2, and Execute = 1. For example,
the default value of 0644 translates to User read-write, Group and Other
read-only.
(more on unix-style permissions)
The default value is 0644 . |
lineEnding
|
Controls the line-endings of files in this fileSet.
Valid values are:
|
filtered
|
Flag used to determine if the file is filtered.
The default value is false . |
Element | Description |
---|---|
outputFileNameMapping
|
Specify the mapping pattern for all dependencies included
in this assembly.
Default is ${artifactId}-${version}.${extension}.
The default value is ${artifactId}-${version}.${extension} . |
unpack
|
If set to true, this property will unpack all dependencies
into the specified output directory. When set to false
dependencies will be includes as archives (jars).
Default value is false.
The default value is false . |
scope
|
Specifies the dependency scope for this dependencySet.
Default scope value is "runtime".
The default value is runtime . |
outputDirectory
|
Specifies the output directory relative to the root of the root directory of the assembly. For example, "log" will put the specified files in the log directory. |
includes
|
When <include> subelements are present, they define a set of files and directory to include. |
excludes
|
When <exclude> subelements are present, they define a set of files and directory to exclude. |
fileMode
|
Similar to a UNIX permission. Format: (User)(Group)(Other) where each
component is a sum of Read = 4, Write = 2, and Execute = 1. For example,
the default value of 0644 translates to User read-write, Group and Other
read-only.
(more on unix-style permissions)
The default value is 0644 . |
directoryMode
|
Similar to a UNIX permission. Format: (User)(Group)(Other) where each
component is a sum of Read = 4, Write = 2, and Execute = 1. For example,
the default value of 0644 translates to User read-write, Group and Other
read-only.
(more on unix-style permissions)
The default value is 0755 . |
Element | Description |
---|---|
includeMetadata
|
If set to true, this property will trigger the creation of repository
metadata which will allow the repository to be used as a functional remote
repository.
The default value is false . |
groupVersionAlignments
|
Align a group to a version or an individual artifact. |
outputDirectory
|
Specifies the output directory relative to the root of the root directory of the assembly. For example, "log" will put the specified files in the log directory. |
includes
|
When <include> subelements are present, they define a set of files and directory to include. |
excludes
|
When <exclude> subelements are present, they define a set of files and directory to exclude. |
fileMode
|
Similar to a UNIX permission. Format: (User)(Group)(Other) where each
component is a sum of Read = 4, Write = 2, and Execute = 1. For example,
the default value of 0644 translates to User read-write, Group and Other
read-only.
(more on unix-style permissions)
The default value is 0644 . |
directoryMode
|
Similar to a UNIX permission. Format: (User)(Group)(Other) where each
component is a sum of Read = 4, Write = 2, and Execute = 1. For example,
the default value of 0644 translates to User read-write, Group and Other
read-only.
(more on unix-style permissions)
The default value is 0755 . |
Element | Description |
---|---|
id
|
The groupId for which you want to align the versions. |
version
|
The version you want to align this group to. |
excludes
|
Artifact Ids of the artifacts you want excluded from version alignment. |