blob: 656d54d2ef3c0f40544d2e2aa10b0ed5c4996633 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<!--
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.
-->
<model xmlns="http://modello.codehaus.org/MODELLO/1.4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://modello.codehaus.org/MODELLO/1.4.0 http://modello.codehaus.org/xsd/modello-1.4.0.xsd">
<id>fileset</id>
<name>FileSet</name>
<description>
<![CDATA[
<p>
A definition of a file-set. This model defines how file-sets can be
captured, using directory, includes, and excludes.
</p>
]]>
</description>
<defaults>
<default>
<key>package</key>
<value>org.apache.maven.shared.model.fileset</value>
</default>
</defaults>
<classes>
<class>
<name>SetBase</name>
<version>1.1.0</version>
<fields>
<field>
<name>followSymlinks</name>
<version>1.0.0+</version>
<type>boolean</type>
<defaultValue>false</defaultValue>
<description>
Specifies whether symbolic links should be traversed, or handled as-is.
</description>
</field>
<field>
<name>outputDirectory</name>
<version>1.0.0+</version>
<type>String</type>
<description>
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.
</description>
</field>
<field>
<name>useDefaultExcludes</name>
<version>1.1.0</version>
<type>boolean</type>
<defaultValue>true</defaultValue>
<description>
Whether to include exclusion patterns for common temporary and SCM control
files (true by default).
</description>
</field>
<field>
<name>includes</name>
<version>1.0.0+</version>
<association>
<type>String</type>
<multiplicity>*</multiplicity>
</association>
<description>
<![CDATA[
When &lt;include&gt; subelements are present, they define
a set of files and directory to include.
]]>
</description>
</field>
<field>
<name>excludes</name>
<version>1.0.0+</version>
<association>
<type>String</type>
<multiplicity>*</multiplicity>
</association>
<description>
<![CDATA[
When &lt;exclude&gt; subelements are present, they define
a set of files and directory to exclude.
]]>
</description>
</field>
<field>
<name>fileMode</name>
<version>1.0.0+</version>
<type>String</type>
<defaultValue>0644</defaultValue>
<description>
<![CDATA[
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.
<a href="http://www.onlamp.com/pub/a/bsd/2000/09/06/FreeBSD_Basics.html">(more on unix-style
permissions)</a>
]]>
</description>
</field>
<field>
<name>directoryMode</name>
<version>1.0.0+</version>
<type>String</type>
<defaultValue>0755</defaultValue>
<description>
<![CDATA[
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 0755 translates to User read-write, Group and Other
read-only.
<a href="http://www.onlamp.com/pub/a/bsd/2000/09/06/FreeBSD_Basics.html">(more on unix-style
permissions)</a>
]]>
</description>
</field>
<field>
<name>mapper</name>
<version>1.1.0</version>
<association>
<type>Mapper</type>
</association>
<defaultValue>new Mapper()</defaultValue>
<description>
Specifies the mapper used.
</description>
</field>
</fields>
<codeSegments>
<codeSegment>
<version>1.0.0+</version>
<code><![CDATA[
/**
* @return the file-set inclusion rules in array form.
*/
public String[] getIncludesArray()
{
String[] includesArry = null;
java.util.List<String> includes = getIncludes();
if ( includes != null && !includes.isEmpty() )
{
includesArry = (String[]) includes.toArray( new String[0] );
}
else if ( includes != null )
{
includesArry = new String[0];
}
return includesArry;
}
/**
* @return the file-set exclusion rules in array form.
*/
public String[] getExcludesArray()
{
String[] excludesArry = null;
java.util.List<String> excludes = getExcludes();
if ( excludes != null && !excludes.isEmpty() )
{
excludesArry = (String[]) excludes.toArray( new String[0] );
}
else if ( excludes != null )
{
excludesArry = new String[0];
}
return excludesArry;
}
]]></code>
</codeSegment>
</codeSegments>
</class>
<class>
<name>Mapper</name>
<version>1.1.0</version>
<fields>
<field>
<name>type</name>
<version>1.1.0</version>
<type>String</type>
<defaultValue>identity</defaultValue>
<description>
<![CDATA[
Specifies a built-in mapper implementation.
<br/>
Valid values:
<ul>
<li><b>"flatten"</b> -
The target file name is identical to the source file name, with all leading
directory information stripped off. Both to and from will be ignored.
</li>
<li><b>"glob"</b> -
Both to and from define patterns that may contain at most one *. For each source
file that matches the from pattern, a target file name will be constructed from
the to pattern by substituting the * in the to pattern with the text that matches
the * in the from pattern. Source file names that don't match the from pattern
will be ignored.
</li>
<li><b>"regexp"</b> -
Both to and from define regular expressions. If the source file name matches the
from pattern, the target file name will be constructed from the to pattern, using
\0 to \9 as back-references for the full match (\0) or the matches of the
subexpressions in parentheses. Source files not matching the from pattern will be
ignored.
</li>
<li><b>"merge"</b> -
The target file name will always be the same, as defined by to. from will be
ignored.
</li>
<li><b>"package"</b> -
Sharing the same syntax as the glob mapper, the package mapper replaces directory
separators found in the matched source pattern with dots in the target pattern
placeholder.
</li>
<li><b>"unpackage"</b> -
This mapper is the inverse of the package mapper. It replaces the dots in a
package name with directory separators. This is useful for matching XML formatter
results against their JUnit test test cases. The mapper shares the sample syntax
as the glob mapper.
</li>
</ul>
]]>
</description>
</field>
<field>
<name>from</name>
<version>1.1.0</version>
<type>String</type>
<description>
Specifies a type-specific pattern for matching source paths which should be mapped.
</description>
</field>
<field>
<name>to</name>
<version>1.1.0</version>
<type>String</type>
<description>
Specifies a type-specific pattern for producing paths based on source paths.
</description>
</field>
<field>
<name>classname</name>
<version>1.1.0</version>
<type>String</type>
<description>
Allows specification of a custom mapper implementation. The class must be of type
org.apache.maven.shared.model.fileset.mappers.FileNameMapper, from the artifact
org.apache.maven.shared:file-management.
</description>
</field>
</fields>
</class>
<class rootElement="true" xml.tagName="fileSet">
<name>FileSet</name>
<version>1.1.0</version>
<superClass>SetBase</superClass>
<description>
Defines the rules for matching and working with files in a given base directory.
</description>
<fields>
<field>
<name>directory</name>
<version>1.0.0+</version>
<type>String</type>
<description>
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.
</description>
<required>true</required>
</field>
<field>
<name>lineEnding</name>
<version>1.0.0+</version>
<type>String</type>
<description>
<![CDATA[
Controls the line-endings of files in this fileSet.
<br/>
Valid values:
<ul>
<li><b>"keep"</b> - Preserve all line endings</li>
<li><b>"unix"</b> - Use Unix-style line endings</li>
<li><b>"lf"</b> - Use a single line-feed line endings</li>
<li><b>"dos"</b> - Use DOS-style line endings</li>
<li><b>"crlf"</b> - Use Carraige-return, line-feed line endings</li>
</ul>
]]>
</description>
</field>
</fields>
</class>
</classes>
</model>