Creating an XDoclet Module
Problem
You have created a custom XDoclet code generator and now you need to create an XDoclet module.
Solution
Add an Ant jar task to your buildfile that
packages up the code generator’s class files,
template files, and xdoclet.xml file.
Discussion
XDoclet 1.2 code generators are packaged into JAR files known as modules. Modules are nothing more than a JAR file with a well-defined structure. It is the same process as packaging up a WAR or EAR file, only an XDoclet module is much simpler.
Example 9-17 shows an Ant target,
jar.perf.module, that creates an XDoclet module.
There are two special considerations for creating a module. First,
the name of the JAR file should end with
“module”. This is only a
convention, but it should be followed. Second, the
xdoclet.xml must be placed in the
meta-inf directory of the JAR file. This step is
required for XDoclet to map template namespaces and parent task and
subtask relationships. It is easy to do, using
jar’s
metainf subtask.
Example 9-17. Creating an XDoclet module
<target name="jar.perf.module" depends="compile.perf,generate.xdoclet.xml">
<jar jarfile="${dir.build}/oreilly-junitperf-module.jar">
<fileset dir="${dir.build}">
<include name="**/perf/"/>
<exclude name="**/xdoclet.xml"/>
</fileset>
<metainf dir="${dir.build}" includes="xdoclet.xml"/>
</jar>
</target>See Also
Recipe 9.10 shows how to create a custom Ant Doclet subtask to generate JUnitPerf tests. Recipe 9.11 shows how to create the JUnitPerfDoclet tag handler ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access