Eclipse3.5へのバージョンアップに伴い、CheckStyleはメジャーバージョンが上がりました(CheckStyle4 → CheckStyle5)。
これにより、以前のcheckstyle設定ファイルは修正しないと使えなくなりました。
僕が修正した点は次の通りです。
- charset要素をTreeWalker要素からルート要素の直下へ移動した。
- FileLengthモジュールをTreeWalker要素からルート要素の直下へと移動した。
現在使っているCheckStyle5向け設定ファイルを置いておきます。
<?xml version="1.0" encoding="UTF-8"?> <!-- Copyright (C) 2009 root42 Inc. All rights reserved. --> <!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.2//EN" "http://www.puppycrawl.com/dtds/configuration_1_2.dtd"> <module name="Checker"> <property name="severity" value="warning"/> <property name="charset" value="UTF-8"/> <!-- module name="PackageHtml"/--> <module name="NewlineAtEndOfFile"/> <module name="FileLength"/> <module name="TreeWalker"> <module name="AvoidStarImport"/> <module name="IllegalImport"/> <module name="RedundantImport"/> <module name="UnusedImports"/> <module name="MethodLength"/> <module name="AnonInnerLength"/> <module name="ParameterNumber"/> <module name="ModifierOrder"/> <module name="RedundantModifier"/> <module name="EmptyBlock"/> <module name="AvoidNestedBlocks"/> <module name="JavadocType"/> <module name="JavadocMethod"/> <module name="JavadocVariable"/> <module name="JavadocStyle"> <property name="checkFirstSentence" value="false"/> </module> <!-- module name="ArrayTrailingComma"/--> <module name="CovariantEquals"/> <module name="DeclarationOrder"/> <module name="DefaultComesLast"/> <module name="DoubleCheckedLocking"/> <module name="EmptyStatement"/> <module name="EqualsHashCode"/> <module name="ExplicitInitialization"/> <module name="FallThrough"/> <module name="MissingSwitchDefault"/> <module name="ParameterAssignment"/> <module name="IllegalCatch"> <property name="illegalClassNames" value="java.lang.Throwable"/> </module> <module name="IllegalInstantiation"> <property name="classes" value=" java.lang.String, java.lang.Object java.lang.Integer, java.lang.Long, java.lang.Short, java.lang.Double, java.lang.Float, java.lang.Byte, java.lang.Boolean" /> </module> <module name="InnerAssignment"/> <module name="JUnitTestCase"/> <module name="MultipleVariableDeclarations"/> <module name="NestedIfDepth"> <property name="max" value="2"/> </module> <module name="NestedTryDepth"/> <module name="PackageDeclaration"/> <module name="RedundantThrows"> <property name="allowUnchecked" value="true"/> </module> <module name="ReturnCount"> <property name="max" value="5"/> </module> <module name="SimplifyBooleanExpression"/> <module name="SimplifyBooleanReturn"/> <module name="StringLiteralEquality"/> <module name="SuperClone"/> <module name="SuperFinalize"/> <!-- module name="UnnecessaryParentheses"/--> <module name="ArrayTypeStyle"/> <module name="UncommentedMain"> <!-- property name="excludedClasses" value="Command$"/--> </module> <module name="UpperEll"/> <module name="FinalClass"/> <module name="FinalParameters"/> <module name="HideUtilityClassConstructor"/> <module name="InterfaceIsType"/> <module name="MutableException"/> <module name="VisibilityModifier"/> <module name="BooleanExpressionComplexity"/> <module name="ClassDataAbstractionCoupling"> <property name="max" value="10" /> </module> <module name="ClassFanOutComplexity"> <!-- property name="max" value="100"/ --> </module> <module name="CyclomaticComplexity"/> <module name="NPathComplexity"/> <module name="PackageName"/> <module name="TypeName"/> <module name="ConstantName"/> <module name="LocalFinalVariableName"/> <module name="LocalVariableName"/> <module name="StaticVariableName"/> <module name="MemberName"/> <module name="ParameterName"/> <module name="MethodName"/> <module name="ExecutableStatementCount"/> <module name="ThrowsCount"> <property name="max" value="3"/> </module> <module name="NestedIfDepth"> <property name="max" value="3"/> </module> <module name="NestedTryDepth"> <property name="max" value="3"/> </module> <module name="ModifiedControlVariable"/> <module name="MultipleStringLiterals"> <property name="allowedDuplicates" value="2"/> <property name="ignoreStringsRegexp" value="^""$|^".*is null"$|^"\p{Punct}+""/> </module> <!-- module name="RequireThis"/--> </module> </module>