blob: 5c35ec5ddc130ef3190d84fd4251b42f47eb761c [file] [log] [blame]
<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>ajdoc</title><link rel="stylesheet" href="aspectj-docs.css" type="text/css"><meta name="generator" content="DocBook XSL Stylesheets V1.44"><link rel="home" href="index.html" title="The AspectJtm Development Environment Guide"><link rel="up" href="ajdoc-ref-top.html" title="ajdoc, the AspectJ documentation tool"><link rel="previous" href="ajc-ref.html" title="ajc"><link rel="next" href="aj-ref-top.html" title="aj, the AspectJ load-time weaving script"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">ajdoc</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ajc-ref.html">Prev</a>&nbsp;</td><th width="60%" align="center"><tt>ajdoc</tt>, the AspectJ documentation tool</th><td width="20%" align="right">&nbsp;<a accesskey="n" href="aj-ref-top.html">Next</a></td></tr></table><hr></div><div class="refentry"><h1 class="title"><a name="ajdoc-ref"></a>ajdoc</h1><div class="refnamediv"><a name="d0e806"></a><h2>Name</h2>ajdoc &#8212; generate HTML API documentation, including crosscutting structure
</div><div class="refsynopsisdiv"><a name="d0e811"></a><h2>Synopsis</h2><div class="cmdsynopsis" id="d0e812"><a name="d0e812"></a><tt>ajdoc</tt> [
-bootclasspath <i><tt>classpathlist</tt></i>
] [
-classpath <i><tt>classpathlist</tt></i>
] [-d <i><tt>path</tt></i>] [-help] [-package] [-protected] [-private] [-public] [-overview <i><tt>overviewFile</tt></i>] [
-sourcepath <i><tt>sourcepathlist</tt></i>
] [-verbose] [-version] [<i><tt>sourcefiles...</tt></i> | <i><tt>packages...</tt></i> | @<i><tt>file...</tt></i> | -argfile <i><tt>file...</tt></i>] [
<i><tt>ajc options</tt></i>
]</div></div><div class="refsect1"><a name="d0e872"></a><h2>Description</h2><p>
<b>ajdoc</b> renders HTML documentation for AspectJ
constructs as well as the Java constructs that
<b>javadoc</b> renders.
In addition <b>ajdoc</b> displays the crosscutting
nature in the form of links. That means, for example, that
you can see everything affecting a method when reading
the documentation for the method.
</p><p>
To run <b>ajdoc</b>, use one of the scripts in the
AspectJ <tt>bin</tt> directory.
The <b>ajdoc</b> implementation builds on Sun's <b>javadoc</b>
command line tool, and you use it in the same way with many of
the same options
(<b>javadoc</b> options are not documented here;
for more information on <b>javadoc</b> usage, see the
<a href="http://java.sun.com/j2se/javadoc/" target="_top">Javadoc homepage</a>.)
</p><p>
As with <b>ajc</b> (but unlike <b>javadoc</b>),
you pass <b>ajdoc</b> all your aspect source files
and any files containing types affected by the aspects;
it's often easiest to just pass all the <tt>.java</tt>
and <tt>.aj</tt> files in your system.
Unlike <b>ajc</b>,
<b>ajdoc</b> will try to find package sources using the
specified sourcepath if you list packages on the command line.
</p><p>
To provide an argfile listing the source files, you can use
use the same argfile (<tt>@filename</tt>) conventions
as with <b>ajc</b>.
For example, the following documents all the source files listed
in <tt>argfile.lst</tt>, sending the output to
the <tt>docDir</tt> output directory.
<pre class="programlisting">ajdoc -d docDir @argfile.lst</pre>
See the <a href="ajc-ref.html#ajc" title="Description">ajc documentation</a>
for details on the text file format.
</p><p>
<b>ajdoc</b> honours <b>ajc</b> options. See
the <a href="ajc-ref.html#ajc_options" title="Options">ajc documentation</a> for details on
these options.
</p><p>
<b>ajdoc</b> currently requires the
<tt>tools.jar</tt> from J2SE 1.3 to be on the classpath.
Normally the scripts set this up, assuming that your <tt>JAVA_HOME</tt>
variable points to an appropriate installation of Java.
You may need to provide this jar when using a different
version of Java or a JRE.
</p></div><div class="refsect1"><a name="d0e974"></a><h2>Examples</h2><div class="example"><p><a name="ajdocdocumentingspacewar"></a><b>Example 2.4. Documenting Spacewar</b></p><div class="itemizedlist"><ul><li><p><a name="d0e982"></a>
Change into the <tt>examples</tt> directory.
</p></li><li><p><a name="d0e988"></a>
Type <b><tt>mkdir doc</tt></b> to create the
destination directory for the documentation.
</p></li><li><p><a name="d0e994"></a>
Type <b><tt>ajdoc -private -d doc spacewar
coordination</tt></b> to generate the documentation.
</p><div class="itemizedlist"><ul><li><p><a name="d0e1001"></a>
(Use <tt>-private</tt> to get all members, since
may of the interesting ones in spacewar are not public.)
</p></li></ul></div></li><li><p><a name="d0e1007"></a>
Type <b><tt>ajdoc -private -d doc @spacewar/demo.lst</tt></b>
to use the argfile associated with Spacewar.
</p></li><li><p><a name="d0e1013"></a>
To view the documentation, open the file <tt>index.html</tt>
in the <tt>doc</tt> directory using a web browser.
</p></li></ul></div></div></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ajc-ref.html">Prev</a>&nbsp;</td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right">&nbsp;<a accesskey="n" href="aj-ref-top.html">Next</a></td></tr><tr><td width="40%" align="left">ajc&nbsp;</td><td width="20%" align="center"><a accesskey="u" href="ajdoc-ref-top.html">Up</a></td><td width="40%" align="right">&nbsp;<tt>aj</tt>, the AspectJ load-time weaving script</td></tr></table></div></body></html>