Custom Javadoc Tags

The GJT project leverages new javadoc features in several ways. It utilizes the ability to define custom doclets to modify the generated documents. It also defines a set of custom tags that allow it to build the package database, facilitate dependencies during compilation, and to produce javadoc documenation that is able to link back into the GJT website.

Here is the list of custom tags that are defined by GJT:

  • @gjtrel
  • @gjtdate
  • @gjtdep
  • @gjtreq
  • @gjthome
  • @gjtlicense
  • @gjtjvm
  • @gjtcat

These tags are explained in detail in the following list.

  • @gjtreltag $Name$

    Specifies the release tag for this release of this package.

    NOTE that the value '$Name$' is a CVS keyword that expands automatically when the source code is exported to the release tree. This guarentees a valid tag, with a consistent syntax.

  • @gjtdate $Date$

    Specifies the release date for this release of this package.

    NOTE that the value is a CVS keyword that expands automatically when the source code is exported to\ the release tree. This guarentees a valid date, with a consistent syntax that can be easily parsed.

  • @gjtdep packagename releasetag

    Specifies a "dependent package". This is how you identify other packages that your packge depends on. The package name should be the full package name (e.g., The releasetag must be valid CVS tag which was used to release the dependent package.

  • @gjtreq <url> description

    Specifies a "required resource", such as a Java API like JavaMail, and provides a link to someplace to get it. The link should be to a user-readable web page, as opposed to an FTP download. The url MUST include the '<', '>' angle brackets, or it will be considered part of the description.

  • @gjtcat category

    This tag is meant to allow us to build better search and browse tools for a tree that is already looking cumbersome! You should use a separate @gjtcat tag for each category you want to specify. Categories are "flat", so there is no hierarchy or grouping. I have included a list of categories below.

  • @gjthome <url> description

    Specifies the official home page for this package. The url will be used for the link described by description. The url MUST include the angle brackets in order to be recognized.

  • @gjtlicense license_id

    Specifies the official license under which the package is released. The license_spec must be one of the following: GPL, LGPL, PD. Those stand for "GNU GPL", "GNU LGPL", and "Public Domain" respectively. If the license_spec is not recognized, it will defualt to 'GPL'.

  • @gjtjvm jvm_version

    This is used to identify the version of the JVM that is required The spec should simply by the minimum required JVM, such as '1.1', or '1.1.6'. PLEASE do _not_ include anything other than the version id, so do not use 'JDK1.1.6'.

  • @gjtext - unimplemented


    This tag is meant to provide a mechanism for handling "external" resources to a package. For instance, if a package has a native interface under Win32, this would specify the DLL required, and where to locate a valid version of it. This tag will be specified in a future release. This is also intended to be used to specify external Java packages, such as a vendor supplied JAR file needed for compilation and execution.

All contents are copyrighted (c) by their respective authors. All rights reserved.
All contents are licensed under the General Public License.