maven-plugins/jellydoc/plugin.jelly

83 lines
2.5 KiB
XML

<?xml version="1.0"?>
<project
xmlns:j="jelly:core"
xmlns:maven="jelly:maven"
xmlns:m="maven">
<!-- ================================================================== -->
<!-- GENERATE THE XML DOCUMENTATION -->
<!-- ================================================================== -->
<goal name="jellydoc" prereqs="jellydoc:doclet"
description="Generates the tag documentation">
<mkdir dir="${maven.build.dir}/generated-xdocs"/>
<j:file name="${maven.build.dir}/generated-xdocs/tags.xml">
<!-- the following should be way easier - j:include should support files -->
<j:new var="file" className="java.io.File">
<j:arg value="${plugin.resources}/${plugin.artifactId}.jelly"/>
</j:new>
<!--
<echo>About to include ${file.toURL()}</echo>
-->
<j:include uri="${file.toURL().toString()}"/>
</j:file>
</goal>
<!-- runs the Tag doclet -->
<goal name="jellydoc:doclet" prereqs="jellydoc:init"
description="A doclet which outputs all the Jelly tag related metadata as XML">
<j:if test="${context.getVariable('maven.jellydoc.packages') == null}">
<j:set var="maven.jellydoc.packages" value="${pom.package}.*"/>
</j:if>
<echo>Generating jellydoc for packages ${maven.jellydoc.packages}</echo>
<javadoc
sourcepath="${pom.build.sourceDirectory}"
packagenames="${maven.jellydoc.packages}"
docletpathref="doclet.classpath"
doclet="org.apache.maven.jellydoc.TagXMLDoclet">
</javadoc>
</goal>
<!-- runs the XML doclet -->
<goal name="jellydoc:xml-doclet" prereqs="jellydoc:init"
description="Creates an XML representation of the doclet information">
<javadoc
sourcepath="${pom.build.sourceDirectory}"
packagenames="${pom.package}.*"
docletpathref="doclet.classpath"
doclet="org.apache.maven.jellydoc.XMLDoclet">
</javadoc>
</goal>
<!-- sets the classpath used for doclet invocations -->
<goal name="jellydoc:init">
<!-- just in case this is ran before a compile -->
<mkdir dir="${maven.build.dir}"/>
<path id="doclet.classpath">
<path refid="maven.dependency.classpath"/>
<pathelement path="${plugin.dir}"/>
<pathelement path="${plugin.getDependencyPath('javadoc')}"/>
<pathelement path="${plugin.getDependencyPath('nekohtml')}"/>
<pathelement path="${plugin.getDependencyPath('dom4j')}"/>
<pathelement path="${plugin.getDependencyPath('xerces')}"/>
<pathelement path="${plugin.getDependencyPath('xml-apis')}"/>
</path>
</goal>
</project>