273 lines
9.2 KiB
XML
273 lines
9.2 KiB
XML
<?xml version="1.0" encoding="ISO-8859-1"?>
|
|
|
|
<document xmlns="http://maven.apache.org/XDOC/2.0"
|
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
|
xsi:schemaLocation="http://maven.apache.org/XDOC/2.0 http://maven.apache.org/xsd/xdoc-2.0.xsd">
|
|
|
|
|
|
<properties>
|
|
<title>Checkstyle ${projectVersion}</title>
|
|
<author>Checkstyle Development Team</author>
|
|
</properties>
|
|
|
|
<body>
|
|
|
|
<section name="Overview">
|
|
<p>
|
|
Checkstyle is a development tool to help programmers write Java code
|
|
that adheres to a coding standard. It automates the process of
|
|
checking Java code to spare humans of this boring (but important)
|
|
task. This makes it ideal for projects that want to enforce a coding
|
|
standard.
|
|
</p>
|
|
|
|
<p>
|
|
Checkstyle is highly configurable and can be made to support almost
|
|
any coding standard. An example configuration file is supplied
|
|
supporting the <a href="http://java.sun.com/docs/codeconv/">Sun Code
|
|
Conventions</a>. As well, other sample configuration files are
|
|
supplied for other well known conventions.
|
|
</p>
|
|
|
|
<p>
|
|
A good example of a report that can be produced using Checkstyle and
|
|
<a href="http://maven.apache.org/">Maven</a> can be <a
|
|
href="http://maven.apache.org/plugins/maven-checkstyle-plugin/checkstyle.html">seen here</a>.
|
|
</p>
|
|
</section>
|
|
|
|
<section name="Features">
|
|
<p>
|
|
Checkstyle can check many aspects of your source code. Historically
|
|
it's main functionality has been to check code layout issues, but
|
|
since the internal architecture was changed in version 3, more and
|
|
more checks for other purposes have been added. Now Checkstyle
|
|
provides checks that find class design problems, duplicate code, or
|
|
bug patterns like double checked locking.
|
|
</p>
|
|
|
|
<p>
|
|
For a detailed list of available checks please refer to the <a
|
|
href="checks.html">Standard Checks</a> page.
|
|
</p>
|
|
</section>
|
|
|
|
<section name="Download">
|
|
<p>
|
|
The latest release of Checkstyle can be downloaded from <a
|
|
href="http://sourceforge.net/project/showfiles.php?group_id=29721">the
|
|
SourceForge download page</a>.
|
|
</p>
|
|
|
|
<p>
|
|
If you want to live on the bleeding edge, you can
|
|
<a href="http://sourceforge.net/scm/?type=hg&group_id=29721">checkout
|
|
the current development code from Mercurial</a> and compile yourself.
|
|
</p>
|
|
|
|
</section>
|
|
|
|
<section name="Related Tools">
|
|
<p>
|
|
Checkstyle is most useful if you integrate it in your build process or
|
|
your development environment. The distribution includes:
|
|
</p>
|
|
|
|
<ul>
|
|
<li>An <a href="http://ant.apache.org/index.html">Ant</a> task.</li>
|
|
<li>A command line tool.</li>
|
|
</ul>
|
|
|
|
<p>
|
|
Additionally plug-ins are written by third-parties. Some of them are
|
|
still based on the Checkstyle 2.4 release, although there have been
|
|
many improvements since then. The known plug-ins are:
|
|
</p>
|
|
|
|
<table>
|
|
<tr>
|
|
<th>IDE / Build tool</th>
|
|
<th>Main/Initial Author</th>
|
|
<th>Available from</th>
|
|
<th>Remarks</th>
|
|
</tr>
|
|
<tr>
|
|
<td><a href="http://www.eclipse.org">Eclipse/RAD/RDz</a></td>
|
|
<td>David Schneider</td>
|
|
<td>
|
|
<a href="http://eclipse-cs.sourceforge.net/">Eclipse-CS Home
|
|
Page</a>
|
|
</td>
|
|
<td></td>
|
|
</tr>
|
|
<tr>
|
|
<td><a href="http://www.eclipse.org">Eclipse/RAD/RDz</a></td>
|
|
<td>Marco van Meegen</td>
|
|
<td>
|
|
<a
|
|
href="http://www.mvmsoft.de/content/plugins/checkclipse/checkclipse.htm">Checklipse
|
|
Home Page</a>
|
|
</td>
|
|
<td></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td><a href="http://www.intellij.com/idea/">IntelliJ IDEA</a></td>
|
|
<td>Jakub Slawinski</td>
|
|
<td>
|
|
<a href="http://www.qaplug.com/">QAPlug</a>
|
|
</td>
|
|
<td>Provides quality assurance features.</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td><a href="http://www.intellij.com/idea/">IntelliJ IDEA</a></td>
|
|
<td>James Shiell</td>
|
|
<td>
|
|
<a href="http://code.google.com/p/checkstyle-idea/">Checkstyle-idea Project Page</a>
|
|
</td>
|
|
<td>Provides real-time and on-demand scanning.</td>
|
|
</tr>
|
|
<tr>
|
|
<td><a href="http://www.intellij.com/idea/">IntelliJ IDEA</a></td>
|
|
<td>Mark Lussier</td>
|
|
<td>
|
|
<a href="http://jetstyle.sourceforge.net/">JetStyle
|
|
Project Page</a>
|
|
</td>
|
|
<td></td>
|
|
</tr>
|
|
<tr>
|
|
<td><a href="http://www.netbeans.org">NetBeans</a></td>
|
|
<td>Petr Hejl</td>
|
|
<td>
|
|
<a href="http://www.sickboy.cz/checkstyle/">Checkstyle Beans</a>
|
|
</td>
|
|
<td>
|
|
Problems with source code are displayed as annotations of
|
|
the source
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td><a href="http://www.netbeans.org">NetBeans</a></td>
|
|
<td>Paul Goulbourn</td>
|
|
<td>
|
|
<a href="http://nbcheckstyle.sourceforge.net">nbCheckStyle</a>
|
|
</td>
|
|
<td></td>
|
|
</tr>
|
|
<tr>
|
|
<td><a href="http://www.netbeans.org">NetBeans</a></td>
|
|
<td></td>
|
|
<td>
|
|
<a href="http://ammatsun.com/checkstyle4nb.aspx">Checkstyle4nb</a>
|
|
</td>
|
|
<td></td>
|
|
</tr>
|
|
<tr>
|
|
<td><a href="http://www.netbeans.org">NetBeans</a></td>
|
|
<td></td>
|
|
<td>
|
|
<a href="https://sqe.dev.java.net/">Software Quality Environment (SQE)</a>
|
|
</td>
|
|
<td></td>
|
|
</tr>
|
|
<tr>
|
|
<td></td>
|
|
<td><a href="http://www.jcoderz.org/">jCoderZ</a></td>
|
|
<td>
|
|
<a href="http://www.jcoderz.org/fawkez/">fawkeZ</a>
|
|
</td>
|
|
<td>Combines multiple tools (CheckStyle, findbugs, PMD, Cobertura, etc.)</td>
|
|
</tr>
|
|
<tr>
|
|
<td><a href="http://www.bluej.org">BlueJ</a></td>
|
|
<td>Rick Giles</td>
|
|
<td><a href="http://bluejcheckstyle.sourceforge.net/">bluejcheckstyle
|
|
home page</a></td>
|
|
<td></td>
|
|
</tr>
|
|
<tr>
|
|
<td><a href="http://snowmail.sn.funpic.de/tide/">tIDE</a></td>
|
|
<td></td>
|
|
<td>Built in</td>
|
|
<td></td>
|
|
</tr>
|
|
<tr>
|
|
<td><a href="http://jdee.sourceforge.net/">Emacs JDE</a></td>
|
|
<td>Markus Mohnen</td>
|
|
<td>Part of the standard JDEE distribution</td>
|
|
<td></td>
|
|
</tr>
|
|
<tr>
|
|
<td><a href="http://www.jedit.org/">jEdit</a></td>
|
|
<td>Todd Papaioannou</td>
|
|
<td><a
|
|
href="http://plugins.jedit.org/plugins/?CheckStylePlugin">JEdit CheckStylePlugin</a></td>
|
|
<td></td>
|
|
</tr>
|
|
<tr>
|
|
<td><a href="http://www.vim.org">Vim editor</a></td>
|
|
<td>Xandy Johnson</td>
|
|
<td><a
|
|
href="http://vim.sourceforge.net/script.php?script_id=448">Plugin Homepage</a></td>
|
|
<td>Vim file-type plug-in</td>
|
|
</tr>
|
|
<tr>
|
|
<td><a href="http://www.krysalis.org/centipede/">Krysalis Centipede</a></td>
|
|
<td>unknown</td>
|
|
<td>Checkstyle supported out of the box</td>
|
|
<td></td>
|
|
</tr>
|
|
<tr>
|
|
<td><a href="http://maven.apache.org/">Maven</a></td>
|
|
<td>Vincent Massol</td>
|
|
<td>Checkstyle supported out of the box</td>
|
|
<td><a href="http://maven.apache.org/plugins/maven-checkstyle-plugin/checkstyle.html">example report</a></td>
|
|
</tr>
|
|
<tr>
|
|
<td><a href="http://sonar.codehaus.org/">Sonar</a></td>
|
|
<td>Freddy Mallet (initial author)</td>
|
|
<td><a href="http://sonar.codehaus.org/">Sonar Home Page</a></td>
|
|
<td><a href="http://nemo.sonar.codehaus.org/">Demo site</a></td>
|
|
</tr>
|
|
<tr>
|
|
<td><a href="http://qalab.sourceforge.net/">QALab</a></td>
|
|
<td>Benoit Xhenseval</td>
|
|
<td><a href="http://qalab.sourceforge.net/">QALab Home Page</a></td>
|
|
<td>Supports tracking Checkstyle statistics over time.</td>
|
|
</tr>
|
|
<tr>
|
|
<td>
|
|
<a href="http://www.borland.com/jbuilder/">Borland JBuilder</a>
|
|
</td>
|
|
<td>Darrel King</td>
|
|
<td>
|
|
<a href="http://www.pautinka.com/">http://www.pautinka.com/</a>
|
|
</td>
|
|
<td></td>
|
|
</tr>
|
|
<tr>
|
|
<td><a href="http://www.borland.com/jbuilder/">Borland JBuilder</a></td>
|
|
<td>Henri Tremblay</td>
|
|
<td><a href="http://sourceforge.net/projects/jbcheckstyle-pg/">JBCS Sourceforge Project Page</a></td>
|
|
<td></td>
|
|
</tr>
|
|
<tr>
|
|
<td><a href="http://www.borland.com/jbuilder/">Borland JBuilder</a></td>
|
|
<td>Angus Chan</td>
|
|
<td><a href="http://jbcheckstyle.sourceforge.net">jbCheckStyle</a></td>
|
|
<td>Checkstyle 2.4</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<p>
|
|
If you have written a plugin for other IDEs, please let us know, so we
|
|
can provide a link here.
|
|
</p>
|
|
|
|
</section>
|
|
|
|
</body>
|
|
</document>
|