98c8a0db55
sick it. Absolutely sick of it! Completely and utterly sick of it!! Still, the change is better for the future.
210 lines
8.2 KiB
HTML
210 lines
8.2 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
|
|
|
<html>
|
|
<head>
|
|
<title>Checkstyle ANT Task - Version @CHECKSTYLE_VERSION@</title>
|
|
<link rel="stylesheet" type="text/css" href="mystyle.css">
|
|
</head>
|
|
|
|
<body>
|
|
<h1><a name="checkstyle">Checkstyle ANT Task - Version @CHECKSTYLE_VERSION@</a></h1>
|
|
<h3>Description</h3>
|
|
|
|
<p>This task runs Checkstyle over specified Java files. The task has been tested using ANT 1.4.1. The latest version of checkstyle can be found at <a href="http://checkstyle.sourceforge.net/">http://checkstyle.sourceforge.net/</a>.
|
|
This task is included in the checkstyle distribution.</p>
|
|
|
|
<h3>Installation</h3>
|
|
<p>The easiest way is to include <span class="default">checkstyle-all-@CHECKSTYLE_VERSION@.jar</span> in the classpath. This contains all the classes required to run Checkstyle. Alternatively, you must include the following in the classpath:</p>
|
|
<ol>
|
|
<li><span class="default">checkstyle-@CHECKSTYLE_VERSION@.jar</span></li>
|
|
<li>ANTLR 2.7.1 classes. <span class="default">antlr.jar</span> is included in the distribution.</li>
|
|
<li>Jakarta Regexp 1.2 classes. <span class="default">jakarta-regexp-1.2.jar</span> is included in the distribution.</li>
|
|
</ol>
|
|
|
|
<p>To use the task in a build file, you will need the following <code>taskdef</code> declaration:</p>
|
|
<pre>
|
|
<taskdef name="checkstyle"
|
|
classname="com.puppycrawl.tools.checkstyle.CheckStyleTask"/>
|
|
</pre>
|
|
<p>Alternatively, since checkstyle version 2.2 you can use <code>taskdef</code>'s resource attribute:</p>
|
|
<pre>
|
|
<taskdef resource="checkstyletask.properties"/>
|
|
</pre>
|
|
|
|
|
|
<h3>Parameters</h3>
|
|
<table border="1" cellpadding="2" cellspacing="0" summary="parameters">
|
|
<tr class="header">
|
|
<td valign="top"><b>Attribute</b></td>
|
|
<td valign="top"><b>Description</b></td>
|
|
<td valign="top"><b>Required</b></td>
|
|
</tr>
|
|
<tr>
|
|
<td valign="top">file</td>
|
|
<td valign="top">File to run checkstyle on.</td>
|
|
<td align="center" valign="top">One of either <i>file</i> or at least one nested <i>fileset</i> element</td>
|
|
</tr>
|
|
<tr>
|
|
<td valign="top">properties</td>
|
|
<td valign="top">
|
|
Specifies a properties file that contains the configuration options.
|
|
<a href="config.html">See here</a> for all available configuration
|
|
options. Use the nested <span class="default"><property></span>
|
|
element to override properties in the file. This is very useful with
|
|
project specific properties like
|
|
<a href="config_reporting.html">reporting configuration</a>.
|
|
</td>
|
|
<td align="center" valign="top">No</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top">failOnViolation</td>
|
|
<td valign="top">Specifies whether the build will continue even if there are violations. Defaults to <span class="default">"true"</span>.</td>
|
|
<td align="center" valign="top">No</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top">failureProperty</td>
|
|
<td valign="top">The name of a property to set in the event of a violation.</td>
|
|
<td align="center" valign="top">No</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top">classpath</td>
|
|
<td valign="top">The classpath to use when looking up classes. Defaults to the current classpath.</td>
|
|
<td align="center" valign="top">No</td>
|
|
</tr>
|
|
|
|
</table>
|
|
|
|
|
|
<h3>Nested Elements</h3>
|
|
|
|
<p>This task supports the nested elements
|
|
<a href="http://jakarta.apache.org/ant/manual/CoreTypes/fileset.html"><fileset></a>,
|
|
<a href="http://jakarta.apache.org/ant/manual/using.html#path"><classpath></a>,
|
|
<span class="default"><formatter></span> and
|
|
<span class="default"><property></span>.</p>
|
|
|
|
<p>The parameters for the <span class="default"><formatter></span> element are:</p>
|
|
|
|
<table border="1" cellpadding="2" cellspacing="0" summary="nested elements">
|
|
<tr class="header">
|
|
<td valign="top"><b>Attribute</b></td>
|
|
<td valign="top"><b>Description</b></td>
|
|
<td valign="top"><b>Required</b></td>
|
|
</tr>
|
|
<tr>
|
|
<td valign="top">type</td>
|
|
<td valign="top">
|
|
<p>The type of output to generate. The valid values are:</p>
|
|
<ul>
|
|
<li><span class="default">plain</span> - specifies the <a href="api/com/puppycrawl/tools/checkstyle/DefaultLogger.html">DefaultLogger</a></li>
|
|
<li><span class="default">xml</span> - specifies the <a href="api/com/puppycrawl/tools/checkstyle/XMLLogger.html">XMLLogger</a></li>
|
|
</ul>
|
|
<p>Defaults to <span class="default">"plain"</span>.</p>
|
|
</td>
|
|
<td align="center" valign="top">No</td>
|
|
</tr>
|
|
<tr>
|
|
<td valign="top">toFile</td>
|
|
<td valign="top">The file to write output to. Defaults to standard output. Note, there is no way to explicitly specify standard output.
|
|
</td>
|
|
<td align="center" valign="top">No</td>
|
|
</tr>
|
|
</table>
|
|
|
|
|
|
<p>The parameters for the <span class="default"><property></span> element are:</p>
|
|
|
|
<table border="1" cellpadding="2" cellspacing="0" summary="nested elements">
|
|
<tr class="header">
|
|
<td valign="top"><b>Attribute</b></td>
|
|
<td valign="top"><b>Description</b></td>
|
|
<td valign="top"><b>Required</b></td>
|
|
</tr>
|
|
<tr>
|
|
<td valign="top">key</td>
|
|
<td valign="top"><p>The key for the property.</p></td>
|
|
<td align="center" valign="top">Yes</td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top">value</td>
|
|
<td valign="top">The value of the property specified as a string.</td>
|
|
<td align="center" valign="top">Either <i>value</i> or <i>file</i></td>
|
|
</tr>
|
|
|
|
<tr>
|
|
<td valign="top">file</td>
|
|
<td valign="top">The value of the property specified as a file. This is
|
|
great for specifying file names relative to the ANT build file.</td>
|
|
<td align="center" valign="top">Either <i>value</i> or <i>file</i></td>
|
|
</tr>
|
|
</table>
|
|
|
|
<h3>Examples</h3>
|
|
<p><b>Run checkstyle on a single file</b></p>
|
|
<pre>
|
|
<checkstyle file="Check.java"/>
|
|
</pre>
|
|
|
|
<p><b>Run checkstyle on a set of Java files using Site-wide Checkstyle rules and overriding properties</b></p>
|
|
<pre>
|
|
<checkstyle properties="/path/to/site/checkstyle.rules">
|
|
<fileset dir="src/checkstyle" includes="**/*.java"/>
|
|
|
|
<!-- Location of cache-file. Something that is project specific -->
|
|
<property key="checkstyle.cache.file" file="target/cachefile"/>
|
|
|
|
<!-- This project allows tabs (big mistake:-) -->
|
|
<property key="checkstyle.allow.tabs" value="true"/>
|
|
</checkstyle>
|
|
</pre>
|
|
|
|
<p><b>Run checkstyle on a set of files and output messages to standard output in plain format, and a file in XML format</b></p>
|
|
<pre>
|
|
<checkstyle>
|
|
<fileset dir="src/checkstyle" includes="**/*.java"/>
|
|
<formatter type="plain"/>
|
|
<formatter type="xml" toFile="build/checkstyle_errors.xml"/>
|
|
</checkstyle>
|
|
</pre>
|
|
|
|
<p><b>Run checkstyle in an automated build and send an email report if style violations are detected</b></p>
|
|
<pre>
|
|
<target name="checkstyle"
|
|
description="Generates a report of code convention violations.">
|
|
|
|
<checkstyle failureProperty="checkstyle.failure"
|
|
failOnViolation="false">
|
|
<formatter type="xml" tofile="checkstyle_report.xml"/>
|
|
<fileset dir="src" includes="**/*.java"/>
|
|
</checkstyle>
|
|
|
|
<style in="checkstyle_report.xml" out="checkstyle_report.html" style="checkstyle.xsl"/>
|
|
|
|
</target>
|
|
|
|
<!-- run this target as part of automated build -->
|
|
<target name="checkstyle-nightly"
|
|
depends="checkstyle"
|
|
if="checkstyle.failure"
|
|
description="Sends email if checkstyle detected code conventions violations.">
|
|
|
|
<!-- use your own server and email addresses below. See Ant documentation for details -->
|
|
|
|
<mail from="qa@some.domain"
|
|
tolist="someone@some.domain,someoneelse@some.domain"
|
|
mailhost="mailbox.some.domain"
|
|
subject="Checkstyle violation(s) in project ${ant.project.name}"
|
|
files="checkstyle_report.html"/>
|
|
|
|
</target>
|
|
</pre>
|
|
|
|
<hr>
|
|
<p align="center">Copyright © 2001 Oliver Burn. All rights Reserved.</p>
|
|
</body>
|
|
</html>
|