blob: b1feb5f9d14cb8945186c35f5ccc1e7c1c7ca6e7 [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/POM/4.0.0" targetNamespace="http://maven.apache.org/POM/4.0.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">
Specify assembly parameters for groups of files.
</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">
Specify assembly parameters for single files.
</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">
Specify assembly behavior for sets of dependencies.
</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:all>
</xs:complexType>
<xs:complexType name="DependencySet">
<xs:annotation>
<xs:documentation source="version">1.0.0</xs:documentation>
<xs:documentation source="description">Defines a dependency set</xs:documentation>
</xs:annotation>
<xs:all>
<xs:element minOccurs="0" name="outputFileNameMapping" type="xs:string" default="${artifactId}-${version}.${extension}">
<xs:annotation>
<xs:documentation source="version">1.0.0</xs:documentation>
<xs:documentation source="description">
Specify the mapping pattern for all dependencies included
in this assembly.
Default is ${artifactId}-${version}.${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="scope" type="xs:string" default="runtime">
<xs:annotation>
<xs:documentation source="version">1.0.0</xs:documentation>
<xs:documentation source="description">
Specifies the dependency scope for this dependencySet.
Default scope value is &quot;runtime&quot;.
</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">
Specifies 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.
</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.
</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" default="0644">
<xs:annotation>
<xs:documentation source="version">1.0.0</xs:documentation>
<xs:documentation source="description">
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.
&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" default="0755">
<xs:annotation>
<xs:documentation source="version">1.0.0</xs:documentation>
<xs:documentation source="description">
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.
&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="FileItem">
<xs:annotation>
<xs:documentation source="version">1.0.0</xs:documentation>
<xs:documentation source="description">
Allows individual file copy with option to change destination
file name not supported by fileSet
</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">
Absolute or relative from the module&apos;s directory.
</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">
Specifies 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">
Destination file name in 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" default="0644">
<xs:annotation>
<xs:documentation source="version">1.0.0</xs:documentation>
<xs:documentation source="description">
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.
&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">
Controls the line-endings of files in this fileSet.
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">
Flag used 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: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">
Absolute or relative 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">
Controls the line-endings of 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="outputDirectory" type="xs:string">
<xs:annotation>
<xs:documentation source="version">1.0.0</xs:documentation>
<xs:documentation source="description">
Specifies 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.
</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.
</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" default="0644">
<xs:annotation>
<xs:documentation source="version">1.0.0</xs:documentation>
<xs:documentation source="description">
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.
&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" default="0755">
<xs:annotation>
<xs:documentation source="version">1.0.0</xs:documentation>
<xs:documentation source="description">
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.
&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:schema>