blob: 2cb48e88940f86cae46f83d23f7ec88b192603ab [file] [log] [blame]
<?xml version="1.0"?>
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/component/1.1.0" targetNamespace="http://maven.apache.org/plugins/maven-assembly-plugin/component/1.1.0">
<xs:element name="component" type="Component">
<xs:annotation>
<xs:documentation source="version">1.0.0+</xs:documentation>
<xs:documentation source="description">Describes the component layout and packaging.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:complexType name="Component">
<xs:annotation>
<xs:documentation source="version">1.0.0+</xs:documentation>
<xs:documentation source="description">Describes the component layout and packaging.</xs:documentation>
</xs:annotation>
<xs:all>
<xs:element minOccurs="0" name="fileSets">
<xs:annotation>
<xs:documentation source="version">1.0.0+</xs:documentation>
<xs:documentation source="description">
Specifies which groups of files to include in the assembly. A
fileSet is specified by providing one or more of &amp;lt;fileSet&amp;gt;
subelements.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="fileSet" minOccurs="0" maxOccurs="unbounded" type="FileSet"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="files">
<xs:annotation>
<xs:documentation source="version">1.0.0+</xs:documentation>
<xs:documentation source="description">
Specifies which single files to include in the assembly. A file
is specified by providing one or more of &amp;lt;file&amp;gt;
subelements.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="file" minOccurs="0" maxOccurs="unbounded" type="FileItem"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="dependencySets">
<xs:annotation>
<xs:documentation source="version">1.0.0+</xs:documentation>
<xs:documentation source="description">
Specifies which dependencies to include in the assembly. A
dependencySet is specified by providing one or more of
&amp;lt;dependencySet&amp;gt; subelements.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="dependencySet" minOccurs="0" maxOccurs="unbounded" type="DependencySet"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="repositories">
<xs:annotation>
<xs:documentation source="version">1.1.0</xs:documentation>
<xs:documentation source="description">
Specifies a set of repositories to include in the assembly. A
repository is specified by providing one or more of
&amp;lt;repository&amp;gt; subelements.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="repository" minOccurs="0" maxOccurs="unbounded" type="Repository"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="containerDescriptorHandlers">
<xs:annotation>
<xs:documentation source="version">1.1.0</xs:documentation>
<xs:documentation source="description">
Set of components which filter various container descriptors out of
the normal archive stream, so they can be aggregated then added.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="containerDescriptorHandler" minOccurs="0" maxOccurs="unbounded" type="ContainerDescriptorHandlerConfig"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
<xs:complexType name="ContainerDescriptorHandlerConfig">
<xs:annotation>
<xs:documentation source="version">1.1.0</xs:documentation>
<xs:documentation source="description">
Configures a filter for files headed into the assembly archive, to enable
aggregation of various types of descriptor fragments, such as components.xml,
web.xml, etc.
</xs:documentation>
</xs:annotation>
<xs:all>
<xs:element minOccurs="0" name="handlerName" type="xs:string">
<xs:annotation>
<xs:documentation source="version">1.1.0</xs:documentation>
<xs:documentation source="description">
The handler&apos;s plexus role-hint, for lookup from the container.
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:all>
</xs:complexType>
<xs:complexType name="Repository">
<xs:annotation>
<xs:documentation source="version">1.1.0</xs:documentation>
<xs:documentation source="description">Defines a Maven repository to be included in the assembly.</xs:documentation>
</xs:annotation>
<xs:all>
<xs:element minOccurs="0" name="includeMetadata" type="xs:boolean" default="false">
<xs:annotation>
<xs:documentation source="version">1.1.0</xs:documentation>
<xs:documentation source="description">
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.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="groupVersionAlignments">
<xs:annotation>
<xs:documentation source="version">1.1.0</xs:documentation>
<xs:documentation source="description">Align a group to a version or an individual artifact.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="groupVersionAlignment" minOccurs="0" maxOccurs="unbounded" type="GroupVersionAlignment"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="scope" type="xs:string" default="runtime">
<xs:annotation>
<xs:documentation source="version">1.1.0</xs:documentation>
<xs:documentation source="description">
Specifies the scope for artifacts included in this repository.
Default scope value is &quot;runtime&quot;.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="useStrictFiltering" type="xs:boolean" default="false">
<xs:annotation>
<xs:documentation source="version">1.1.0</xs:documentation>
<xs:documentation source="description">
When specified as true, any include/exclude patterns which aren&apos;t used to filter an actual
artifact during assembly creation will cause the build to fail with an error. This is meant
to highlight obsolete inclusions or exclusions, or else signal that the assembly descriptor
is incorrectly configured.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="useDefaultExcludes" type="xs:boolean" default="true">
<xs:annotation>
<xs:documentation source="version">1.1.0</xs:documentation>
<xs:documentation source="description">
Whether standard exclusion patterns, such as those matching CVS and Subversion
metadata files, should be used when calculating the files affected by this set.
For backward compatibility, the default value is true.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="outputDirectory" type="xs:string">
<xs:annotation>
<xs:documentation source="version">1.0.0+</xs:documentation>
<xs:documentation source="description">
Sets the output directory relative to the root
of the root directory of the assembly. For example,
&quot;log&quot; will put the specified files in the log directory.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="includes">
<xs:annotation>
<xs:documentation source="version">1.0.0+</xs:documentation>
<xs:documentation source="description">
When &amp;lt;include&amp;gt; subelements are present, they define a set of
files and directory to include. If none is present, then
&amp;lt;includes&amp;gt; represents all valid values.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="include" minOccurs="0" maxOccurs="unbounded" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="excludes">
<xs:annotation>
<xs:documentation source="version">1.0.0+</xs:documentation>
<xs:documentation source="description">
When &amp;lt;exclude&amp;gt; subelements are present, they define a set of
files and directory to exclude. If none is present, then
&amp;lt;excludes&amp;gt; represents no exclusions.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="exclude" minOccurs="0" maxOccurs="unbounded" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="fileMode" type="xs:string">
<xs:annotation>
<xs:documentation source="version">1.0.0+</xs:documentation>
<xs:documentation source="description">
Similar to a UNIX permission, sets the file mode of the files included.
Format: (User)(Group)(Other) where each component is a sum of Read = 4,
Write = 2, and Execute = 1. For example, the value 0644
translates to User read-write, Group and Other read-only.
&lt;a href=&quot;http://www.onlamp.com/pub/a/bsd/2000/09/06/FreeBSD_Basics.html&quot;&gt;(more on unix-style permissions)&lt;/a&gt;
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="directoryMode" type="xs:string">
<xs:annotation>
<xs:documentation source="version">1.0.0+</xs:documentation>
<xs:documentation source="description">
Similar to a UNIX permission, sets the directory mode of the directories
included. Format: (User)(Group)(Other) where each component is a sum of
Read = 4, Write = 2, and Execute = 1. For example, the value
0755 translates to User read-write, Group and Other read-only.
&lt;a href=&quot;http://www.onlamp.com/pub/a/bsd/2000/09/06/FreeBSD_Basics.html&quot;&gt;(more on unix-style permissions)&lt;/a&gt;
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:all>
</xs:complexType>
<xs:complexType name="GroupVersionAlignment">
<xs:annotation>
<xs:documentation source="version">1.1.0</xs:documentation>
<xs:documentation source="description">Defines a Maven repository to be included in the assembly.</xs:documentation>
</xs:annotation>
<xs:all>
<xs:element minOccurs="0" name="id" type="xs:string">
<xs:annotation>
<xs:documentation source="version">1.1.0</xs:documentation>
<xs:documentation source="description">The groupId for which you want to align the versions.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="version" type="xs:string">
<xs:annotation>
<xs:documentation source="version">1.1.0</xs:documentation>
<xs:documentation source="description">The version you want to align this group to.</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="excludes">
<xs:annotation>
<xs:documentation source="version">1.1.0</xs:documentation>
<xs:documentation source="description">Artifact Ids of the artifacts you want excluded from version alignment.</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="exclude" minOccurs="0" maxOccurs="unbounded" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
<xs:complexType name="FileItem">
<xs:annotation>
<xs:documentation source="version">1.0.0+</xs:documentation>
<xs:documentation source="description">
A file allows individual file inclusion with the option to change
the destination filename not supported by fileSets.
</xs:documentation>
</xs:annotation>
<xs:all>
<xs:element minOccurs="0" name="source" type="xs:string">
<xs:annotation>
<xs:documentation source="version">1.0.0+</xs:documentation>
<xs:documentation source="description">
Sets the absolute or relative path from the module&apos;s directory
of the file to be included in the assembly.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="outputDirectory" type="xs:string">
<xs:annotation>
<xs:documentation source="version">1.0.0+</xs:documentation>
<xs:documentation source="description">
Sets the output directory relative to the root
of the root directory of the assembly. For example,
&quot;log&quot; will put the specified files in the log directory.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="destName" type="xs:string">
<xs:annotation>
<xs:documentation source="version">1.0.0+</xs:documentation>
<xs:documentation source="description">
Sets the destination filename in the outputDirectory.
Default is the same name as the source&apos;s file.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="fileMode" type="xs:string">
<xs:annotation>
<xs:documentation source="version">1.0.0+</xs:documentation>
<xs:documentation source="description">
Similar to a UNIX permission, sets the file mode of the files included.
Format: (User)(Group)(Other) where each component is a sum of Read = 4,
Write = 2, and Execute = 1. For example, the value 0644
translates to User read-write, Group and Other read-only.
&lt;a href=&quot;http://www.onlamp.com/pub/a/bsd/2000/09/06/FreeBSD_Basics.html&quot;&gt;(more on unix-style permissions)&lt;/a&gt;
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="lineEnding" type="xs:string">
<xs:annotation>
<xs:documentation source="version">1.0.0+</xs:documentation>
<xs:documentation source="description">
Sets the line-endings of the files in this file.
Valid values are:
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;&quot;keep&quot;&lt;/b&gt; - Preserve all line endings&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&quot;unix&quot;&lt;/b&gt; - Use Unix-style line endings&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&quot;lf&quot;&lt;/b&gt; - Use a single line-feed line endings&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&quot;dos&quot;&lt;/b&gt; - Use DOS-style line endings&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&quot;crlf&quot;&lt;/b&gt; - Use Carraige-return, line-feed line endings&lt;/li&gt;
&lt;/ul&gt;
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="filtered" type="xs:boolean" default="false">
<xs:annotation>
<xs:documentation source="version">1.0.0+</xs:documentation>
<xs:documentation source="description">
Sets whether to determine if the file is filtered.
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:all>
</xs:complexType>
<xs:complexType name="FileSet">
<xs:annotation>
<xs:documentation source="version">1.0.0+</xs:documentation>
<xs:documentation source="description">
A fileSet allows the inclusion of groups of files into the assembly.
</xs:documentation>
</xs:annotation>
<xs:all>
<xs:element minOccurs="0" name="directory" type="xs:string">
<xs:annotation>
<xs:documentation source="version">1.0.0+</xs:documentation>
<xs:documentation source="description">
Sets the absolute or relative location from the module&apos;s
directory. For example, &quot;src/main/bin&quot; would select this
subdirectory of the project in which this dependency is defined.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="lineEnding" type="xs:string">
<xs:annotation>
<xs:documentation source="version">1.0.0+</xs:documentation>
<xs:documentation source="description">
Sets the line-endings of the files in this fileSet.
Valid values:
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;&quot;keep&quot;&lt;/b&gt; - Preserve all line endings&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&quot;unix&quot;&lt;/b&gt; - Use Unix-style line endings&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&quot;lf&quot;&lt;/b&gt; - Use a single line-feed line endings&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&quot;dos&quot;&lt;/b&gt; - Use DOS-style line endings&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&quot;crlf&quot;&lt;/b&gt; - Use Carraige-return, line-feed line endings&lt;/li&gt;
&lt;/ul&gt;
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="filtered" type="xs:boolean" default="false">
<xs:annotation>
<xs:documentation source="version">1.1.0</xs:documentation>
<xs:documentation source="description">
Whether to filter symbols in the files as they are copied, using
properties from the build configuration.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="useStrictFiltering" type="xs:boolean" default="false">
<xs:annotation>
<xs:documentation source="version">1.1.0</xs:documentation>
<xs:documentation source="description">
When specified as true, any include/exclude patterns which aren&apos;t used to filter an actual
artifact during assembly creation will cause the build to fail with an error. This is meant
to highlight obsolete inclusions or exclusions, or else signal that the assembly descriptor
is incorrectly configured.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="useDefaultExcludes" type="xs:boolean" default="true">
<xs:annotation>
<xs:documentation source="version">1.1.0</xs:documentation>
<xs:documentation source="description">
Whether standard exclusion patterns, such as those matching CVS and Subversion
metadata files, should be used when calculating the files affected by this set.
For backward compatibility, the default value is true.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="outputDirectory" type="xs:string">
<xs:annotation>
<xs:documentation source="version">1.0.0+</xs:documentation>
<xs:documentation source="description">
Sets the output directory relative to the root
of the root directory of the assembly. For example,
&quot;log&quot; will put the specified files in the log directory.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="includes">
<xs:annotation>
<xs:documentation source="version">1.0.0+</xs:documentation>
<xs:documentation source="description">
When &amp;lt;include&amp;gt; subelements are present, they define a set of
files and directory to include. If none is present, then
&amp;lt;includes&amp;gt; represents all valid values.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="include" minOccurs="0" maxOccurs="unbounded" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="excludes">
<xs:annotation>
<xs:documentation source="version">1.0.0+</xs:documentation>
<xs:documentation source="description">
When &amp;lt;exclude&amp;gt; subelements are present, they define a set of
files and directory to exclude. If none is present, then
&amp;lt;excludes&amp;gt; represents no exclusions.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="exclude" minOccurs="0" maxOccurs="unbounded" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="fileMode" type="xs:string">
<xs:annotation>
<xs:documentation source="version">1.0.0+</xs:documentation>
<xs:documentation source="description">
Similar to a UNIX permission, sets the file mode of the files included.
Format: (User)(Group)(Other) where each component is a sum of Read = 4,
Write = 2, and Execute = 1. For example, the value 0644
translates to User read-write, Group and Other read-only.
&lt;a href=&quot;http://www.onlamp.com/pub/a/bsd/2000/09/06/FreeBSD_Basics.html&quot;&gt;(more on unix-style permissions)&lt;/a&gt;
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="directoryMode" type="xs:string">
<xs:annotation>
<xs:documentation source="version">1.0.0+</xs:documentation>
<xs:documentation source="description">
Similar to a UNIX permission, sets the directory mode of the directories
included. Format: (User)(Group)(Other) where each component is a sum of
Read = 4, Write = 2, and Execute = 1. For example, the value
0755 translates to User read-write, Group and Other read-only.
&lt;a href=&quot;http://www.onlamp.com/pub/a/bsd/2000/09/06/FreeBSD_Basics.html&quot;&gt;(more on unix-style permissions)&lt;/a&gt;
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:all>
</xs:complexType>
<xs:complexType name="DependencySet">
<xs:annotation>
<xs:documentation source="version">1.0.0+</xs:documentation>
<xs:documentation source="description">
A dependencySet allows inclusion and exclusion of project dependencies
in the assembly.
</xs:documentation>
</xs:annotation>
<xs:all>
<xs:element minOccurs="0" name="outputFileNameMapping" type="xs:string" default="${artifact.artifactId}-${artifact.version}${dashClassifier?}.${artifact.extension}">
<xs:annotation>
<xs:documentation source="version">1.0.0+</xs:documentation>
<xs:documentation source="description">
Sets the mapping pattern for all dependencies included in this
assembly. Default is ${artifact.artifactId}-${artifact.version}${dashClassifier?}.${artifact.extension}.
If the artifact doesn&apos;t have a classifier, that part of the pattern will be left off.
(Since 2.2-beta-2; 2.2-beta-1 uses ${artifactId}-${version}${dashClassifier?}.${extension})
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="unpack" type="xs:boolean" default="false">
<xs:annotation>
<xs:documentation source="version">0.0.0+</xs:documentation>
<xs:documentation source="description">
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.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="unpackOptions" type="UnpackOptions">
<xs:annotation>
<xs:documentation source="version">1.1.0</xs:documentation>
<xs:documentation source="description">
Allows the specification of includes and excludes, along with filtering options, for items
unpacked from a dependency artifact.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="scope" type="xs:string" default="runtime">
<xs:annotation>
<xs:documentation source="version">1.0.0+</xs:documentation>
<xs:documentation source="description">
Sets the dependency scope for this dependencySet.
Default scope value is &quot;runtime&quot;.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="useProjectArtifact" type="xs:boolean" default="true">
<xs:annotation>
<xs:documentation source="version">1.1.0</xs:documentation>
<xs:documentation source="description">
Determines whether the artifact produced during the current project&apos;s
build should be included in this dependency set. Default value is true,
for backward compatibility. (Since 2.2)
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="useProjectAttachments" type="xs:boolean" default="false">
<xs:annotation>
<xs:documentation source="version">1.1.0</xs:documentation>
<xs:documentation source="description">
Determines whether the attached artifacts produced during the current project&apos;s
build should be included in this dependency set. Default value is false. (Since 2.2)
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="useTransitiveDependencies" type="xs:boolean" default="true">
<xs:annotation>
<xs:documentation source="version">1.1.0</xs:documentation>
<xs:documentation source="description">
Determines whether transitive dependencies will be included in the processing of
the current dependency set. If true, includes/excludes/useTransitiveFiltering
will apply to transitive dependency artifacts in addition to the main project
dependency artifacts. If false, useTransitiveFiltering is meaningless, and
includes/excludes only affect the immediate dependencies of the project.
By default, this value is true. (Since 2.2)
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="useTransitiveFiltering" type="xs:boolean" default="false">
<xs:annotation>
<xs:documentation source="version">1.1.0</xs:documentation>
<xs:documentation source="description">
Determines whether the include/exclude patterns in this dependency set will be applied to
the transitive path of a given artifact. If true, and the current artifact is a transitive
dependency brought in by another artifact which matches an inclusion or exclusion pattern,
then the current artifact has the same inclusion/exclusion logic applied to it as well. By
default, this value is false, in order to preserve backward compatibility with version 2.1.
This means that includes/excludes only apply directly to the current artifact, and not to
the transitive set of artifacts which brought it in. (Since 2.2)
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="useStrictFiltering" type="xs:boolean" default="false">
<xs:annotation>
<xs:documentation source="version">1.1.0</xs:documentation>
<xs:documentation source="description">
When specified as true, any include/exclude patterns which aren&apos;t used to filter an actual
artifact during assembly creation will cause the build to fail with an error. This is meant
to highlight obsolete inclusions or exclusions, or else signal that the assembly descriptor
is incorrectly configured.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="useDefaultExcludes" type="xs:boolean" default="true">
<xs:annotation>
<xs:documentation source="version">1.1.0</xs:documentation>
<xs:documentation source="description">
Whether standard exclusion patterns, such as those matching CVS and Subversion
metadata files, should be used when calculating the files affected by this set.
For backward compatibility, the default value is true.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="outputDirectory" type="xs:string">
<xs:annotation>
<xs:documentation source="version">1.0.0+</xs:documentation>
<xs:documentation source="description">
Sets the output directory relative to the root
of the root directory of the assembly. For example,
&quot;log&quot; will put the specified files in the log directory.
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="includes">
<xs:annotation>
<xs:documentation source="version">1.0.0+</xs:documentation>
<xs:documentation source="description">
When &amp;lt;include&amp;gt; subelements are present, they define a set of
files and directory to include. If none is present, then
&amp;lt;includes&amp;gt; represents all valid values.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="include" minOccurs="0" maxOccurs="unbounded" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="excludes">
<xs:annotation>
<xs:documentation source="version">1.0.0+</xs:documentation>
<xs:documentation source="description">
When &amp;lt;exclude&amp;gt; subelements are present, they define a set of
files and directory to exclude. If none is present, then
&amp;lt;excludes&amp;gt; represents no exclusions.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="exclude" minOccurs="0" maxOccurs="unbounded" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="fileMode" type="xs:string">
<xs:annotation>
<xs:documentation source="version">1.0.0+</xs:documentation>
<xs:documentation source="description">
Similar to a UNIX permission, sets the file mode of the files included.
Format: (User)(Group)(Other) where each component is a sum of Read = 4,
Write = 2, and Execute = 1. For example, the value 0644
translates to User read-write, Group and Other read-only.
&lt;a href=&quot;http://www.onlamp.com/pub/a/bsd/2000/09/06/FreeBSD_Basics.html&quot;&gt;(more on unix-style permissions)&lt;/a&gt;
</xs:documentation>
</xs:annotation>
</xs:element>
<xs:element minOccurs="0" name="directoryMode" type="xs:string">
<xs:annotation>
<xs:documentation source="version">1.0.0+</xs:documentation>
<xs:documentation source="description">
Similar to a UNIX permission, sets the directory mode of the directories
included. Format: (User)(Group)(Other) where each component is a sum of
Read = 4, Write = 2, and Execute = 1. For example, the value
0755 translates to User read-write, Group and Other read-only.
&lt;a href=&quot;http://www.onlamp.com/pub/a/bsd/2000/09/06/FreeBSD_Basics.html&quot;&gt;(more on unix-style permissions)&lt;/a&gt;
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:all>
</xs:complexType>
<xs:complexType name="UnpackOptions">
<xs:annotation>
<xs:documentation source="version">1.1.0</xs:documentation>
<xs:documentation source="description">
Specifies options for including/excluding/filtering items extracted from an archive.
</xs:documentation>
</xs:annotation>
<xs:all>
<xs:element minOccurs="0" name="includes">
<xs:annotation>
<xs:documentation source="version">1.1.0</xs:documentation>
<xs:documentation source="description">
Set of patterns for matching items to be included from an archive as it is unpacked.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="include" minOccurs="0" maxOccurs="unbounded" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="excludes">
<xs:annotation>
<xs:documentation source="version">1.1.0</xs:documentation>
<xs:documentation source="description">
Set of patterns for matching items to be excluded from an archive as it is unpacked.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:sequence>
<xs:element name="exclude" minOccurs="0" maxOccurs="unbounded" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element minOccurs="0" name="filtered" type="xs:boolean" default="false">
<xs:annotation>
<xs:documentation source="version">1.1.0</xs:documentation>
<xs:documentation source="description">
Whether to filter symbols in the files as they are unpacked from the archive, using
properties from the build configuration.
</xs:documentation>
</xs:annotation>
</xs:element>
</xs:all>
</xs:complexType>
</xs:schema>