evenisse 9a278f5c42 Update to ASL v.2
git-svn-id: https://svn.apache.org/repos/asf/maven/maven-1/plugins/trunk@114791 13f79535-47bb-0310-9956-ffa450edef68
2004-03-04 18:05:31 +00:00

208 lines
6.9 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!--
/*
* Copyright 2001-2004 The Apache Software Foundation.
*
* Licensed 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.
*/
-->
<document>
<properties>
<title>AspectWerkz properties</title>
<author email="vmassol@apache.org">Vincent Massol</author>
</properties>
<body>
<section name="Weaving aspect libraries">
<p>
It is possible to specify aspect libraries that will be weaved to the
main source code. For example:
</p>
<source><![CDATA[
<dependency>
<groupId>groupId</groupId>
<artifactId>artifactId</artifactId>
<version>version</version>
<type>jar|zip</type>
<properties>
<aspectwerkz.library>true</aspectwerkz.library>
</properties>
</dependency>
]]></source>
</section>
<section name="AspectWerkz generic properties">
<table>
<tr>
<th>Property</th>
<th>Optional?</th>
<th>Description</th>
</tr>
<tr>
<td>maven.aspectwerkz.mode</td>
<td>Yes</td>
<td>
AW supports 2 types of Aspects/Advice/Pointcuts definition:
<ul>
<li>
<strong>xmldef</strong>: Advice are defined as extending
*Advice classes (BeforeAdvice, AroundAdvice, etc). Custom
javadoc attributes can be used to link code to weave with
advices.
</li>
<li>
<strong>attribdef</strong>: Advices and pcds are defined
purely using custom javadoc attributes (@Execute, @Aspect,
etc).
</li>
</ul>
You need to tell the plugin how you have defined your AW
Aspects/Advices/Pointcuts. The 2 valid values are
<code>xmldef</code> and <code>attribdef</code>.
The default value is <code>attribdef</code>.
</td>
</tr>
<tr>
<td>maven.aspectwerkz.weave.build.dir</td>
<td>Yes</td>
<td>
Location where weaved classes will be generated. Default to
<code>${maven.build.dest}</code>.
</td>
</tr>
<tr>
<td>maven.aspectwerkz.definition.validate</td>
<td>Yes</td>
<td>
Decide whether definition validation is turned on or off.
Defaults to <code>false</code>.
</td>
</tr>
<tr>
<td>maven.aspectwerkz.verbose</td>
<td>Yes</td>
<td>
Decide whether to use verbose output or not during execution of
this plugin's goals. Defaults to <code>false</code>.
</td>
</tr>
<tr>
<td>maven.aspectwerkz.src.dir</td>
<td>Yes</td>
<td>
Location of non-production aspect source files.
The AW plugin looks for source files in
<code>${pom.sourceDirectory}</code>. It also supports all source
directories added to the <code>${maven.compile.src.set}</code>
Ant path variable. Moreover, if you wish to keep non-production
aspects in a specific directory, you can define the
<code>maven.aspectwerkz.src.dir</code> property. Defaults to
<code>maven.aspectwerkz.src.dir = ${basedir}/src/aspectwerkz</code>.
</td>
</tr>
<tr>
<td>maven.aspectwerkz.build.dest</td>
<td>Yes</td>
<td>
Location where non-production aspect classes will be compiled to.
These are the classes defined by
<code>${maven.aspectwerkz.src.dir}</code>. Defaults to
<code>maven.aspectwerkz.build.dest = ${maven.build.dir}/aspectwerkz/classes</code>.
</td>
</tr>
<tr>
<td>maven.aspectwerkz.classloader.preprocessor</td>
<td>Yes</td>
<td>
Classloader to use for class files weaving. Defaults to
<code>org.codehaus.aspectwerkz.transform.AspectWerkzPreProcessor</code>.
</td>
</tr>
</table>
</section>
<section name="AspectWerkz properties specific to 'attribdef' mode">
<table>
<tr>
<th>Property</th>
<th>Optional?</th>
<th>Description</th>
</tr>
<tr>
<td>maven.aspectwerkz.definition.file.src</td>
<td>Yes</td>
<td>
Location of the XML definition file. Default to
<code>${basedir}/conf/aspectwerkz.xml</code>.
</td>
</tr>
<tr>
<td>maven.aspectwerkz.aspectc.build.dir</td>
<td>Yes</td>
<td>
Location where aspectc results will be generated. Defaults to
<code>${maven.build.dir}/aspectwerkz/aspectc</code>.
</td>
</tr>
</table>
</section>
<section name="AspectWerkz properties specific to 'xmldef' mode">
<table>
<tr>
<th>Property</th>
<th>Optional?</th>
<th>Description</th>
</tr>
<tr>
<td>maven.aspectwerkz.definition.file.build</td>
<td>Yes</td>
<td>
Location of the AW XML definition file that will be created by the
attribute compilation (when calling the
<code>aspectwerkz:attributec</code> goal). This is only used in
<code>xmldef</code> mode. Defaults to
<code>${maven.build.dir}/aspectwerkz.xml</code>.
</td>
</tr>
<tr>
<td>maven.aspectwerkz.definition.file.merge</td>
<td>Yes</td>
<td>
Definition file to be merged with the main definition file.
This property is not defined by default.
</td>
</tr>
<tr>
<td>maven.aspectwerkz.uuid</td>
<td>Yes</td>
<td>
UUID to use. If not specified a default one will be
automatically generated. This property is not defined by default.
</td>
</tr>
<tr>
<td>maven.aspectwerkz.transform.filter</td>
<td>Yes</td>
<td>
If set to "no", prevents <code>org.codehaus.aspectwerkz</code> and
related classes (jexl, trove, dom4j...) from being instrumented.
Defaults to <code>no</code>.
</td>
</tr>
</table>
</section>
</body>
</document>