MAIN doclet

From unkrig.de
Jump to navigation Jump to search

This doclet creates an HTML page for the main(String[]) method (or any other method) of each of the specified classes.

Usage[edit]

Doclet command line options:

-d dest-dir
--destination dest-dir
Where to create the HTML files.

The effective file name is:

<dest-dir>/<pkg>/<class>.<method>.html

The default destination directory is ".".

--method method
The signature of the method to document. The default is "main(String[])"; for a doclet, you may want to specify "start(RootDoc)".
--docencoding charset
The charset to use when writing the HTML files. The default is the JVM default charset, "${file.encoding}".
--charset name
The HTML character set for this document.

If set, then the following tag appears in the <head> of all generated documents:

<meta http-equiv="Content-Type" content="text/html; charset="charset">

--doctitle title
The title to place near the top of the output file.
--quiet
Suppresse normal output.
--bottom text
For compatibility with the JAVADOC standard doclet; ignored.
--linkoffline ext-doc-url package-list-loc
For compatibility with the JAVADOC standard doclet; ignored.
--windowtitle title
For compatibility with the JAVADOC standard doclet; ignored.

Supported inline tags:

{@main.commandLineOptions}
{@main.commandLineOptions group-name}
Documentation for all command line options, generated from @CommandLineOption-annotated setter methods.
If a group-name is given, then only those options appear which have a {@main.commandLineOptionGroup} block tag with equal group-name; otherwise, only those options appear which have no {@main.commandLineOptionGroup} block tag.
{@code text}
{@literal text}
{@value package.class#field}
{@link package.class#member label}
{@linkplain package.class#member label}
{@docRoot}
Same as for the standard doclet.
{@constantsof package.enum-type}
{@constantsofplain package.enum-type}
Links to all constants of the designated enum type, separated with ", " (a comma and a space).

Supported block tags:

{@main.commandLineOptionGroup} group-name
Assigns this command line option setter method to a "group"; see the {@main.commandLineOptions} inline tag.

Resources[edit]

Download the all-inclusive JAR file here.

Find the source code here.

Change Log[edit]

Version 1.0.5, 2018-11-23
  • Also honor the options' "@CommandLineOption(cardinality=...)", e.g. by appending " (mandatory)" to the term of Cardinality.MANDATORY options.
Version 1.0.4, 2018-10-18
  • Enum @CommonsLineOption method parameter: Use "CONST1|CONST2|CONST3" as the command line argument placeholder.
Version 1.0.2, 2016-11-25
  • Modified the text of the copyright notice slightly: Replaced "author" with "copyright holders and contributors".
  • "html2txt" is now a dependency of the "exec-plugin", not of the project.
  • No more warnings about classes without a "main()" method.

License[edit]

The MAIN doclet is available under the terms of the "new BSD license":

Copyright (c) 2015, Arno Unkrig All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  • Neither the name of no-template nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.