maven-plugins/jellydoc/plugin.jelly
2003-03-30 23:26:12 +00:00

110 lines
3.5 KiB
XML

<?xml version="1.0"?>
<project
xmlns:j="jelly:core"
xmlns:doc="doc">
<goal name="maven-jellydoc-plugin:register">
<doc:registerReport
name="Jelly Tag Documentation"
pluginName="maven-jellydoc-plugin"
link="tags"
description="Jelly Tag Documentation."/>
</goal>
<goal name="maven-jellydoc-plugin:deregister">
<doc:deregisterReport name="Jelly Tag Documentation"/>
</goal>
<goal name="maven-jellydoc-plugin:report"
prereqs="jellydoc"
description="Generates the tag documentation"/>
<!-- ================================================================== -->
<!-- GENERATE THE XML DOCUMENTATION -->
<!-- ================================================================== -->
<goal name="jellydoc" prereqs="jellydoc:doclet"
description="Generates the tag documentation">
<mkdir dir="${genDocs}"/>
<j:file name="${genDocs}/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>
<mkdir dir="target"/>
<echo>Source directory is ${basedir}/${pom.build.sourceDirectory}</echo>
<javadoc
sourcepath="${basedir}/${pom.build.sourceDirectory}"
packagenames="${maven.jellydoc.packages}"
classpathref="doclet.classpath"
docletpathref="doclet.classpath"
doclet="org.apache.maven.jellydoc.TagXMLDoclet">
</javadoc>
<!-- if ran inside the reactor then lets copy the generated file -->
<copy tofile="${genDocs}/taglib.xml" file="${user.dir}/target/taglib.xml"/>
</goal>
<!-- runs the XML doclet -->
<goal name="jellydoc:xml-doclet" prereqs="jellydoc:init"
description="Creates an XML representation of the doclet information">
<javadoc
sourcepath="${basedir}/${pom.build.sourceDirectory}"
packagenames="${pom.package}.*"
classpathref="doclet.classpath"
docletpathref="doclet.classpath"
doclet="org.apache.maven.jellydoc.XMLDoclet">
</javadoc>
</goal>
<!-- sets the classpath used for doclet invocations -->
<goal name="jellydoc:init">
<j:set var="genDocs"
value="${pom.getPluginContext('maven-xdoc-plugin').getVariable('maven.gen.docs')}"/>
<!-- just in case this is ran before a compile -->
<mkdir dir="${genDocs}"/>
<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')}"/>
<pathelement path="${plugin.getDependencyPath('commons-jelly')}"/>
</path>
</goal>
</project>