ANT doclet

From unkrig.de
Jump to navigation Jump to search

Generates (JAVADOC-like) HTML documentation for APACHE ANT antlibs.

The motivation for writing this doclet is to ease the maintenance of the documentation for the Ant-contrib.unkrig.de antlib:

Antdoc-ant-contrib.png

Usage

The doclet implements the following command line options:

-d directory
-windowtitle window-title
-doctitle document-title
-header header
-footer footer
-top top
-bottom bottom
-notimestamp true|false
-link url-or-file
-linkoffline url-or-file package-list-url-or-file
Same as for the standard JAVADOC doclet
-antlib-file file
The antlib file of the antlib to document; defaults to "antlib.xml".
-theme JAVA7|JAVA8
The style of the generated pages.

Features

Basics

The doclet parses the ANTLIB file to identify all the tasks, types, chainable readers etc. that the ANTLIB implements. Then it finds the attribut setter and subelement adder methods, just like ANT would do. Eventually it generates one HTML page for each task, type, chainable reader etc., plus various overview, summary, index and frameset pages; very similar to what the standard JAVADOC servlet does for a set of Java classes.

References to attribute setter and subelement adder methods are not rendered as "setFoo(String)" and "addPerson(Person)", but like "foo=..." and "<person>".

Links to the various standard ANT types are recognized and rendered appropriately.

Related attributes

Sometimes you want to document multiple attributes together, i.e. have only one description. To get that, write a doc comment with a description for the first setter, and for the other setters a doc comment with a sole @see tag that refers to the first setter.

Grouping of subelements

Subelement adder methods ("add*()", "addConfigured*()" and "create*()") can have a "@ant.group group-name" block tag in their DOC comment. If at least one subelement adder method has such a block tag, then the subelements are grouped by group-name, and each group gets a respective heading, and the subelements without a @ant.group go into a group "Other".

For an example, see the documentation of the <zzfind> ANT task, and the source code.

Resources

The doclet JAR file is here.

The change log is here.

Find the source code for the doclet here.