CheckStyle: Difference between revisions
Line 127: | Line 127: | ||
|- | |- | ||
| | | | ||
{|border="1" style="width: | {|border="1" style="width:1250px;font-size:8pt;height:80%;" cellpadding="1" cellspacing="0" align="left" | ||
|- | |- | ||
! style="width:12%" bgcolor="#cfcfcf" align="left" | ! style="width:12%" bgcolor="#cfcfcf" align="left" | CheckStyle | ||
! style="width:08%" bgcolor="#cfcfcf" align="center" |HTML-Size<br>Kb | ! style="width:08%" bgcolor="#cfcfcf" align="center" | HTML-Size<br>Kb | ||
! style="width:08%" bgcolor="#cfcfcf" align="center" |HTML<br>Reduction % | ! style="width:08%" bgcolor="#cfcfcf" align="center" | HTML<br>Reduction % | ||
! style="width:08%" bgcolor="#cfcfcf" align="center" |HTML-Lines<br>K | ! style="width:08%" bgcolor="#cfcfcf" align="center" | HTML-Lines<br>K | ||
! style="width:08%" bgcolor="#cfcfcf" align="center" |Line<br>Reduction % | ! style="width:08%" bgcolor="#cfcfcf" align="center" | Line<br>Reduction % | ||
! style="width:56%" bgcolor="#cfcfcf" align="left" | ! style="width:56%" bgcolor="#cfcfcf" align="left" | Description | ||
|- | |- | ||
|valign="top" |All | |valign="top" |All | ||
Line 162: | Line 162: | ||
| align="center" |37,378 | | align="center" |37,378 | ||
| align="center" |0.05% | | align="center" |0.05% | ||
| No ''com.puppycrawl.tools.checkstyle.checks.whitespace.MethodParamPadCheck''<br> | | No ''com.puppycrawl.tools.checkstyle.checks.whitespace.MethodParamPadCheck''<br>Tokens: CTOR_DEF, LITERAL_NEW, METHOD_CALL, METHOD_DEF, SUPER_CTOR_CALL | ||
|- | |- | ||
|valign="top" |No whitespace After | |valign="top" |No whitespace After | ||
Line 169: | Line 169: | ||
| align="center" | 36,795 | | align="center" | 36,795 | ||
| align="center" | 0.62% | | align="center" | 0.62% | ||
| No ''com.puppycrawl.tools.checkstyle.checks.whitespace.NoWhitespaceAfterCheck''<br> | | No ''com.puppycrawl.tools.checkstyle.checks.whitespace.NoWhitespaceAfterCheck''<br>Tokens: ARRAY_INIT, BNOT, DEC, DOT, INC, LNOT, UNARY_MINUS, UNARY_PLUS | ||
|- | |- | ||
|valign="top" |No whitespace Before | |valign="top" |No whitespace Before | ||
Line 176: | Line 176: | ||
| align="center" |36.773 | | align="center" |36.773 | ||
| align="center" |0.03% | | align="center" |0.03% | ||
| No ''com.puppycrawl.tools.checkstyle.checks.whitespace.WhitespaceAfterCheck''<br> | | No ''com.puppycrawl.tools.checkstyle.checks.whitespace.WhitespaceAfterCheck''<br>Tokens: SEMI, POST_DEC, POST_INC | ||
|- | |- | ||
|valign="top" |No whitespace After | |valign="top" |No whitespace After | ||
Line 183: | Line 183: | ||
| align="center" |25,286 | | align="center" |25,286 | ||
| align="center" |12.32% | | align="center" |12.32% | ||
| No ''com.puppycrawl.tools.checkstyle.checks.whitespace.NoWhitespaceAfterCheck''<br> | | No ''com.puppycrawl.tools.checkstyle.checks.whitespace.NoWhitespaceAfterCheck''<br>Tokens: COMMA, SEMI, TYPECAST | ||
|- | |- | ||
Line 191: | Line 191: | ||
| align="center" |15,276 | | align="center" |15,276 | ||
| align="center" | 10.69% | | align="center" | 10.69% | ||
| No ''com.puppycrawl.tools.checkstyle.checks.whitespace.WhitespaceAroundCheck'' <br> | | No ''com.puppycrawl.tools.checkstyle.checks.whitespace.WhitespaceAroundCheck'' <br>Tokens: ASSIGN, BAND, BAND_ASSIGN, BOR, BOR_ASSIGN, BSR, BSR_ASSIGN, BXOR, BXOR_ASSIGN, COLON, DIV, DIV_ASSIGN, EQUAL, GE, GT, LAND, LCURLY, LE, LITERAL_ASSERT, LITERAL_CATCH, LITERAL_DO, LITERAL_ELSE, LITERAL_FINALLY, LITERAL_FOR, LITERAL_IF, LITERAL_RETURN, LITERAL_SYNCHRONIZED, LITERAL_TRY, LITERAL_WHILE, LOR, LT, MINUS, MINUS_ASSIGN, MOD, MOD_ASSIGN, NOT_EQUAL, PLUS, PLUS_ASSIGN, QUESTION, RCURLY, SL, SLIST, SL_ASSIGN, SR, SR_ASSIGN, STAR, STAR_ASSIGN | ||
|} | |} | ||
|} | |} |
Revision as of 16:41, 15 August 2015
Checkstyle is a tool for checking Code Standards Violations. It can be used different environments:
Installation in Ant
To set CheckStyle in Ant add the following line of code to the build.xml. <syntaxhighlight lang="xml" line>
<property name = "checkstyle.home.dir" location = "." /> ... <taskdef resource = "com/puppycrawl/tools/checkstyle/ant/checkstyle-ant-task.properties" classpath = "checkstyle-6.8.1-all.jar" /> ... <property name="checkstyle.sourcepath" value="src" /> <property name="checkstyle.report.path" value="." /> <property name="checkstyle.report.style" value="checkstyle-simple.xsl" /> <property name="checkstyle.report.xml" value="checkstyle-report.xml" /> <property name="checkstyle.report.html" value="checkstyle-report.html" /> ... <target name = "check" description = "Generates a report of code convention violations.">
<mkdir dir = "${checkstyle.report.path}" />
<checkstyle config = "${checkstyle.report.config}" failureProperty = "checkstyle.failure" failOnViolation = "false"> <formatter type = "xml" tofile = "${checkstyle.report.xml}"/> <fileset dir = "${checkstyle.sourcepath}" includes = "**/*.java, **/*.xml, **/*.properties" excludes = "checkstyle/" /> </checkstyle> <xslt basedir = "${checkstyle.report.path}" destdir = "${checkstyle.report.path}" style = "${checkstyle.report.style}" /> </target>
</syntaxhighlight>
Line | Description | Default | Global |
---|---|---|---|
1-2 | Property for the location of all the checkstyle-jar files. It must contain checkstyle-6.8.1-all.jar (See below). | Current Directory | /usr/local/bin/checkstyle-6.8.1 |
4-5 | Reference to the checkstyle resource | checkstyle-6.8.1-all.jar | |
7-12 | References to the checkstyle properties. | ||
14-36 | Ant-Target definition, creating the report path, running checkstyle and formats the resulting xml-report to HTML using XSLT. |
Installation in Maven
To set CheckStyle in Maven or Maven 2 add the following lines of code to the settings of the project.xml, project.properties.
Project.xml
<syntaxhighlight lang="xml">
<reports> ... <report>maven-checkstyle-plugin</report> ... </reports>
</syntaxhighlight>
Project.properties
Add the name of the file containing the checkstyle settings: <syntaxhighlight lang="bash">
- Checkstyle settings #
maven.checkstyle.excludes=**/*generated*/** maven.checkstyle.properties=${basedir}/AAB_checks.xml </syntaxhighlight>
Configuration
The default CheckStyle is highly configurable. The installation come with sample configuration files:
- Apache Avalon (avalon_checks.xml)
- Sun coding conventions (sun_checks.xml)
- Apache Turbine Framework (turbine_checks.xml), this is the base of Frame
The AAB uses its own CheckStyle convention (AAB_checks.xml), which is configured for each project separately. The format of the configuration file: <syntaxhighlight lang="xml"> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.1//EN" "http://www.puppycrawl.com/dtds/configuration_1_1.dtd"> <module name="Checker">
<module name="TreeWalker"> <module name="com.puppycrawl.tools.checkstyle.checks.GenericIllegalRegexpCheck"> <property name="format" value="System.err"/> <property name="ignoreCase" value="false"/> <property name="ignoreComments" value="false"/> <property name="message" value="Do not use System.err"/> <property name="severity" value="warning"/> </module> ... <module name="com.puppycrawl.tools.checkstyle.checks.sizes.LineLengthCheck"> <property name="ignorePattern" value="^$"/> <property name="max" value="110"/> <property name="severity" value="warning"/> <property name="tabWidth" value="4"/> </module> ... </module>
</module> </syntaxhighlight>
Problem
The CheckStyle report becomes very long and difficult to handel. There are a few checks which delivers very much lines of report lines. A comparison of the size of checkstyle-report.html file for the different checkstyles
|