Editing MAIN doclet

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
This doclet creates an HTML page for the <code>main(String[])</code> method (or any other method) of each of the specified classes.
This doclet creates a (very simple) HTML page for the "'''main(String[])'''" method (or a different method) of each of the specified classes.


== Usage ==
=== Doclet options ===


<html>
; -d ''dest-dir''
: Where to create the output files. The complete output file name is "''dest-dir''/pkg/pkg/class.meth(int, String)".


<h3>Doclet command line options:</h3>
; -method ''method-signature''
: Which method to document; defaults to "'''main(String[])'''".


<dl>
; -output-encoding ''enc''
  <dt><code>-d</code> <var>dest-dir</var></dt>
: The encoding to use when writing output files; defaults to the "JVM default charset".
  <dt><code>--destination</code> <var>dest-dir</var></dt>
  <dd>Where to create the HTML files.
<p>
  The effective file name is:
</p>
<p>
  <code>&lt;dest-dir&gt;/&lt;pkg&gt;/&lt;class&gt;.&lt;method&gt;.html</code>
</p>
<p>
  The default destination directory is "<code>.</code>".
</p></dd>
  <dt><code>--method</code> <var>method</var></dt>
  <dd>The signature of the method to document. The default is "main(String[])"; for a doclet, you may want to
specify <code>"start(RootDoc)"</code>.</dd>
  <dt><code>--docencoding</code> <var>charset</var></dt>
  <dd>The charset to use when writing the HTML files. The default is the JVM default charset, "${file.encoding}".</dd>
  <dt><code>--charset</code> <var>name</var></dt>
  <dd>The HTML character set for this document.
<p>
  If set, then the following tag appears in the <code>&lt;head&gt;</code> of all generated documents:
</p>
<p>
  <code>&lt;meta http-equiv="Content-Type" content="text/html; charset="</code><var>charset</var><code>"&gt;</code>
</p></dd>
  <dt><code>--doctitle</code> <var>title</var></dt>
  <dd>The title to place near the top of the output file.</dd>
  <dt><code>--quiet</code></dt>
  <dd>Suppresse normal output.</dd>
  <dt><code>--bottom</code> <var>text</var></dt>
  <dd>For compatibility with the JAVADOC standard doclet; ignored.</dd>
  <dt><code>--linkoffline</code> <var>ext-doc-url</var> <var>package-list-loc</var></dt>
  <dd>For compatibility with the JAVADOC standard doclet; ignored.</dd>
  <dt><code>--windowtitle</code> <var>title</var></dt>
  <dd>For compatibility with the JAVADOC standard doclet; ignored.</dd>


</dl>
=== Resources ===


<h3>Supported inline tags:</h3>
Find the source code [https://svn.code.sf.net/p/loggifier/code/trunk/de.unkrig.doclet.main here].


<dl>
Ready-to-use binaries are not (yet) available.
  <dt><a name="main.commandLineOptions"></a><code>{&#64;main.commandLineOptions}</code></dt>
  <dt><code>{&#64;main.commandLineOptions</code> <var>group-name</var><code>}</code></dt>
  <dd>
    Documentation for all command line options, generated from <code><a href="http://commons.unkrig.de/javadoc/commons-util/de/unkrig/commons/util/annotation/CommandLineOption.html">&#64;CommandLineOption</a></code>-annotated
    setter methods.<br />
    If a <var>group-name</var> is given, then only those options appear which have a
    <a href="#main.commandLineOptionGroup"><code>{&#64;main.commandLineOptionGroup}</code> block tag</a> with
    equal <var>group-name</var>; otherwise, only those options appear which have <em>no</em>
    <code>{&#64;main.commandLineOptionGroup}</code> block tag.
  </dd>
  <dt><code>{&#64;code <var>text</var>}</code></dt>
  <dt><code>{&#64;literal <var>text</var>}</code></dt>
  <dt><code>{&#64;value <var>package</var>.<var>class</var>#<var>field</var>}</code></dt>
  <dt><code>{&#64;link      <var>package</var>.<var>class</var>#<var>member</var> <var>label</var>}</code></dt>
  <dt><code>{&#64;linkplain <var>package</var>.<var>class</var>#<var>member</var> <var>label</var>}</code></dt>
  <dt><code>{&#64;docRoot}</code></dt>
  <dd>
    <a href="http://docs.oracle.com/javase/7/docs/technotes/tools/windows/javadoc.html#javadoctags">Same as for
    the standard doclet</a>.
  </dd>
  <dt><code>{&#64;constantsof      <var>package</var>.<var>enum-type</var>}</code></dt>
  <dt><code>{&#64;constantsofplain <var>package</var>.<var>enum-type</var>}</code></dt>
  <dd>
    Links to all constants of the designated enum type, separated with "<code>, </code>" (a comma and a space).
  </dd>
</dl>
 
<h3>Supported block tags:</h3>
 
<dl>
  <dt>
    <a name="main.commandLineOptionGroup"></a><code>{&#64;main.commandLineOptionGroup}</code> <var>group-name</var>
  </dt>
  <dd>
    Assigns this command line option setter method to a "group"; see <a
    href="#main.commandLineOptions">the <code>{&#64;main.commandLineOptions}</code> inline tag</a>.
  </dd>
</dl>
</html>
 
== Resources ==
 
Download the all-inclusive JAR file [https://repository.sonatype.org/service/local/artifact/maven/redirect?r=central-proxy&g=de.unkrig&a=doclet-main&v=LATEST&c=jar-with-dependencies here].
 
Find the source code [https://github.com/aunkrig/maindoc here].
 
== Change Log ==
 
; 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 ==
 
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.
Please note that all contributions to unkrig.de may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see Unkrig.de:Copyrights for details). Do not submit copyrighted work without permission!
Cancel Editing help (opens in new window)