<!--
  ~ 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.
  -->

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="generator" content=
"HTML Tidy for Windows (vers 14 June 2007), see www.w3.org" />
<meta http-equiv="content-type" content="" />
<title>Maven2 AAR Plug-in Guide</title>
<link href="../../../css/axis-docs.css" rel="stylesheet" type=
"text/css" media="all" />
</head>
<body>
<h1>Maven2 AAR Plug-in Guide</h1>
<h2>Introduction</h2>
<p>This plugin generates an Axis 2 service file (AAR file).</p>
<p><a href="http://ws.apache.org/axis2/tools/index.html" target=
"_blank">[Download Plugin Tool]</a></p>
<h2>Goals</h2>
<p>The AAR plugin allows the packaging of an Axis 2 service aar in
3 different modes:</p>
<ol>
<li><b>axis2-aar:aar</b>: generates the aar artifact</li>
<li><b>axis2-aar:inplace</b> : package the aar in the source tree</li>
<li><b>axis2-aar:exploded</b> : package an exploded aar application</li>
</ol>
<p>Each mode is materialized by a goal. For instance, to generate
an exploded aar from the current project, one would type</p>
<pre>
mvn axis2-aar:exploded
</pre>
<h2>Configuration</h2>
<p>All AAR plugin goals takes the following configuration
parameters as input:</p>
<table border="2">
<tbody>
<tr>
<td><strong>Parameter Name</strong></td>
<td><strong>Default Value</strong></td>
<td><strong>Description</strong></td>
</tr>
<tr>
<td>aarDirectory</td>
<td>${project.build.directory}/aar</td>
<td>Directory where the aar file is built</td>
</tr>
<tr>
<td>classesDirectory</td>
<td>${project.build.outputDirectory}</td>
<td>Directory with compiled classes and resources</td>
</tr>
<tr>
<td>fileSets</td>
<td></td>
<td>Additional file sets, which are being added to the archive. See
"<a href="#file_sets">File Sets</a>" below for an example</td>
</tr>
<tr>
<td>servicesXmlFile</td>
<td></td>
<td>Location of the services.xml file. By default, it is assumed
that the file is already present in classesDirectory/META-INF and
no special processing is required</td>
</tr>
<tr>
<td>wsdlFile</td>
<td></td>
<td>Location of the WSDL file. By default, it is assumed that the
file is already present in classesDirectory/META-INF and no special
processing is required</td>
</tr>
<tr>
<td>wsdlFileName</td>
<td>service.wsdl</td>
<td>Name, to which the WSDL file should be mapped</td>
</tr>
</tbody>
</table>
<h3>The aar Goal</h3>
<p>The aar goal allows the following additional parameters:</p>
<table border="2">
<tbody>
<tr>
<td><strong>Parameter Name</strong></td>
<td><strong>Default Value</strong></td>
<td><strong>Description</strong></td>
</tr>
<tr>
<td>outputDirectory</td>
<td>${project.build.directory}</td>
<td>Directory where to generate the AAR file</td>
</tr>
<tr>
<td>aarName</td>
<td>${project.build.finalName}</td>
<td>The generated AAR files name</td>
</tr>
<tr>
<td>archive</td>
<td></td>
<td>A Maven archive configuration. This allows, for example, to
configure the MANIFEST.MF file</td>
</tr>
<tr>
<td>classifier</td>
<td></td>
<td>A classifier, which should be added to the generated AAR files
name. Setting this parameter has the side effect, that the artifact
is treated as an attachment and not as the projects primary
artifact</td>
</tr>
<tr>
<td>primaryArtifact</td>
<td>true</td>
<td>Setting this property to false disables installation or
deployment of the artifact as the projects primary artifact</td>
</tr>
</tbody>
</table>
<a name="file_sets" id="file_sets"></a>
<h3>File Sets</h3>
<p>Additional file sets may be configured for inclusion into the
AAR file. A file set looks as follows:</p>
<pre>
  
  &lt;fileSets&gt;
    &lt;fileSet&gt;
      &lt;directory&gt;src/aar/files&lt;/directory&gt;
      &lt;outputDirectory&gt;META-INF/docs&lt;/outputDirectory&gt;
      &lt;includes&gt;
        &lt;include&gt;**/*.html&lt;/include&gt;

      &lt;/includes&gt;
    &lt;/fileSet&gt;
    &lt;fileSet&gt;
      &lt;directory&gt;src/aar/files&lt;/directory&gt;
      &lt;outputDirectory&gt;META-INF/etc&lt;/outputDirectory&gt;

      &lt;excludes&gt;
        &lt;exclude&gt;**/*.html&lt;/exclude&gt;
      &lt;/excludes&gt;
    &lt;/fileSet&gt;
  &lt;/fileSets&gt;
  
</pre>
<p>The example specifies, that the contents of the directory
src/aar/files shall be added to the AAR file. HTML files will go
into META-INF/docs, all other files to META-INF/etc.</p>
<p>A file set is configured through the following configuration
parameters:</p>
<table border="2">
<tbody>
<tr>
<td><strong>Parameter Name</strong></td>
<td><strong>Description</strong></td>
</tr>
<tr>
<td>directory</td>
<td>The directory, from which to read the file set. This parameter
is required</td>
</tr>
<tr>
<td>outputDirectory</td>
<td>The target directory within the AAR file. Defaults to the AAR
files root directory</td>
</tr>
<tr>
<td>includes</td>
<td>Configures the set of files, which shall be included into the
AAR file. Defaults to **/*</td>
</tr>
<tr>
<td>excludes</td>
<td>Configures a set of files, which shall be excluded from the
file set. Defaults to the Maven default excludes (**/*~,
**/cvs/**/*, **/.svn/**/*, etc.)</td>
</tr>
<tr>
<td>skipDefaultExcludes</td>
<td>If this parameter is set to true, then no default excludes are
being used</td>
</tr>
</tbody>
</table>
</body>
</html>
