Merge "Refine Checkstyle rules: optional JavaDoc on c'str & getter/setter"
[odlparent.git] / checkstyle / src / main / resources / odl_checks.xml
index 77eb953c064c350230fc9740748e4068d4f3b432..56608259fd4a4e42071bcec516052f0d311cb6e2 100644 (file)
@@ -5,7 +5,7 @@
 
 <!--
 
-    Checkstyle configuration that checks the Google coding conventions from:
+    ODL Checkstyle configuration, originally based on the the Google coding conventions from:
 
     -  Google Java Style
        https://google-styleguide.googlecode.com/svn-history/r130/trunk/javaguide.html
@@ -24,7 +24,7 @@
 <module name = "Checker">
     <property name="charset" value="UTF-8"/>
 
-    <property name="severity" value="warning"/>
+    <property name="severity" value="${checkstyle.violationSeverity}" default="warning"/>
 
     <!-- Checks for whitespace                               -->
     <!-- See http://checkstyle.sf.net/config_whitespace.html -->
@@ -32,7 +32,9 @@
             <property name="eachLine" value="true"/>
         </module>
 
+    <module name="SuppressWarningsFilter"/>
     <module name="TreeWalker">
+        <module name="SuppressWarningsHolder" />
         <module name="OuterTypeFilename"/>
         <module name="IllegalTokenText">
             <property name="tokens" value="STRING_LITERAL, CHAR_LITERAL"/>
         </module>
         <module name="AbbreviationAsWordInName">
             <property name="ignoreFinal" value="false"/>
-            <property name="allowedAbbreviationLength" value="1"/>
+            <property name="allowedAbbreviationLength" value="3"/>
         </module>
         <module name="OverloadMethodsDeclarationOrder"/>
         <module name="VariableDeclarationUsageDistance"/>
         </module>
         <module name="JavadocMethod">
             <property name="scope" value="public"/>
+            <property name="tokens" value="METHOD_DEF"/> <!-- JavaDoc on constructors is optional -->
+            <property name="allowMissingPropertyJavadoc" value="true" /> <!-- JavaDoc on STRICT (!) getters and setters is optional -->
             <property name="allowMissingParamTags" value="true"/>
             <property name="allowMissingThrowsTags" value="true"/>
             <property name="allowMissingReturnTag" value="true"/>
             <property name="allowThrowsTagsForSubclasses" value="true"/>
         </module>
         <module name="MethodName">
-            <property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9_]*$"/>
+            <property name="format" value="^[a-z][a-zA-Z0-9_]*$"/>
             <message key="name.invalidPattern"
              value="Method name ''{0}'' must match pattern ''{1}''."/>
         </module>