maven-plugins/aspectj/plugin.jelly
2003-01-24 03:44:26 +00:00

125 lines
4.3 KiB
XML

<?xml version="1.0"?>
<project xmlns:j="jelly:core" xmlns:util="jelly:util">
<!--==================================================================-->
<!-- Compile all source code, weaving the Aspects -->
<!--==================================================================-->
<goal name="aspectj"
description="Compile code with AspectJ"
prereqs="aspectj:compile"/>
<goal name="aspectj:compile"
description="Compile code with AspectJ">
<j:if test="${sourcesPresent == 'true'}">
<taskdef name="ajc" classname="org.aspectj.tools.ant.taskdefs.Ajc"/>
<available property="aspectSourcesPresent"
file="${pom.build.aspectSourceDirectory}"/>
<uptodate property="aspectj.compile.notRequired"
targetfile="${maven.build.dir}/${maven.final.name}.jar">
<srcfiles dir="${pom.build.sourceDirectory}"/>
<j:if test="${aspectSourcesPresent == 'true'}">
<srcfiles dir="${pom.build.aspectSourceDirectory}"/>
</j:if>
</uptodate>
<j:set var="aspectjCompileNotRequired" value="${aspectj.compile.notRequired}"/>
<j:if test="${aspectjCompileNotRequired == null}">
<ajc
destdir="${maven.build.dest}"
excludes="**/package.html"
debug="${maven.compile.debug}"
deprecation="${maven.compile.deprecation}"
optimize="${maven.compile.optimize}">
<src>
<path refid="maven.compile.src.set"/>
<j:if test="${aspectSourcesPresent == 'true'}">
<pathelement location="${pom.build.aspectSourceDirectory}"/>
</j:if>
</src>
<j:forEach var="sm" items="${pom.build.sourceModifications}">
<available property="classPresent" classname="${sm.className}"/>
<j:if test="${classPresent != 'true'}">
<j:forEach var="exclude" items="${sm.excludes}">
<exclude name="${exclude}"/>
</j:forEach>
</j:if>
</j:forEach>
<classpath>
<path refid="maven.dependency.classpath"/>
<pathelement path="${maven.build.dest}"/>
<pathelement path="${plugin.getDependencyPath('aspectj:aspectjrt')}"/>
</classpath>
</ajc>
</j:if>
</j:if>
</goal>
<goal name="aspectj:ajdoc" description="Javadoc source using ajdoc">
<j:if test="${sourcesPresent == 'true'}">
<taskdef name="ajdoc" classname="org.aspectj.tools.ant.taskdefs.Ajdoc" />
<available property="aspectSourcesPresent"
file="${pom.build.aspectSourceDirectory}"/>
<!-- retrieve various javadoc plugin vars -->
<util:tokenize var="javadocVarList" delim=",">
maven.javadoc.author,maven.javadoc.destdir,
maven.javadoc.links,maven.javadoc.maxmemory,
maven.javadoc.private,maven.javadoc.stylesheet,
maven.javadoc.use,maven.javadoc.version
</util:tokenize>
<j:forEach var="javadocVar" items="${javadocVarList}">
<j:set var="javadocVar" value="${javadocVar.trim()}" />
<j:set var="${javadocVar}"
value="${pom.getPluginContext('maven-javadoc-plugin').getVariable(javadocVar)}"/>
</j:forEach>
<ajdoc packagenames="${pom.package}.*"
destdir="${maven.javadoc.destdir}"
author="${maven.javadoc.author}"
private="${maven.javadoc.private}"
version="${maven.javadoc.version}"
use="${maven.javadoc.use}"
windowtitle="${title}"
doctitle="${title}"
bottom="${copyright}"
stylesheetfile="${maven.javadoc.stylesheet}">
<j:forEach var="link" items="${links}">
<link href="${link.trim()}"/>
</j:forEach>
<classpath>
<path refid="maven.dependency.classpath"/>
<path location="${maven.build.dest}"/>
<pathelement path="${plugin.getDependencyPath('aspectj:aspectjrt')}"/>
</classpath>
<sourcepath>
<path refid="maven.compile.src.set"/>
<j:if test="${aspectSourcesPresent == 'true'}">
<pathelement location="${pom.build.aspectSourceDirectory}"/>
</j:if>
</sourcepath>
</ajdoc>
</j:if>
</goal>
</project>