checkstyle.xml 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!--
  3. ~ Copyright 2012 The Netty Project
  4. ~
  5. ~ The Netty Project licenses this file to you under the Apache License,
  6. ~ version 2.0 (the "License"); you may not use this file except in compliance
  7. ~ with the License. You may obtain a copy of the License at:
  8. ~
  9. ~ http://www.apache.org/licenses/LICENSE-2.0
  10. ~
  11. ~ Unless required by applicable law or agreed to in writing, software
  12. ~ distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
  13. ~ WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
  14. ~ License for the specific language governing permissions and limitations
  15. ~ under the License.
  16. -->
  17. <!DOCTYPE module PUBLIC
  18. "-//Puppy Crawl//DTD Check Configuration 1.2//EN"
  19. "http://www.puppycrawl.com/dtds/configuration_1_2.dtd">
  20. <module name="Checker">
  21. <property name="severity" value="warning"/>
  22. <!--
  23. <module name="SuppressionFilter">
  24. <property name="file" value="checkstyle-suppressions.xml" />
  25. </module>
  26. <module name="io.netty.build.checkstyle.SuppressionFilter">
  27. <property name="pattern" value="((LocalTime|WorldClock)Protocol|LinkedTransferQueue|Version|jzlib/.*|chmv8/.*|com/sun/nio/sctp/.*)\.java" />
  28. </module>
  29. -->
  30. <module name="FileTabCharacter"/>
  31. <!--
  32. <module name="JavadocPackage"/>
  33. -->
  34. <module name="NewlineAtEndOfFile">
  35. <property name="lineSeparator" value="lf" />
  36. </module>
  37. <!-- Copyright headers -->
  38. <module name="RegexpSingleline">
  39. <property name="format" value="^(\s|\*)*Copyright\s.*$"/>
  40. <property name="minimum" value="1"/>
  41. <property name="maximum" value="1"/>
  42. <property name="message" value="missing copyright header"/>
  43. </module>
  44. <!-- Unmaintainable Javadoc tags -->
  45. <module name="RegexpSingleline">
  46. <property name="format" value="(@(author|version)|\(non-Javadoc\))"/>
  47. <property name="ignoreCase" value="true"/>
  48. <property name="message" value="unmaintainable Javadoc tags: @author, @version, or (non-Javadoc)"/>
  49. </module>
  50. <!-- IDE-generated comment -->
  51. <module name="RegexpSingleline">
  52. <property name="format" value="File \| Settings \| File Templates"/>
  53. <property name="message" value="IDE-generated comment"/>
  54. </module>
  55. <!-- Force UNIX line separator
  56. <module name="io.netty.build.checkstyle.NewlineCheck"/>
  57. -->
  58. <!-- Trailing whitespace -->
  59. <module name="RegexpSingleline">
  60. <property name="format" value="\s+$"/>
  61. <property name="message" value="trailing whitespace"/>
  62. </module>
  63. <!-- Prohibit consecutive empty lines (except the lines after package/import) -->
  64. <module name="RegexpMultiline">
  65. <property name="format" value="\n *(?!package )(?!import )[^\n]+\n{3,}"/>
  66. <property name="message" value="two or more consecutive empty lines"/>
  67. </module>
  68. <!-- Prohibit an empty after { or before } -->
  69. <module name="RegexpMultiline">
  70. <property name="format" value="\n\n\s+\}[^\n]{0,10}\n"/>
  71. <property name="message" value="an empty line before '}'"/>
  72. </module>
  73. <module name="RegexpMultiline">
  74. <property name="format" value="\n\s+[^\n]{1,8}\{\n\n"/>
  75. <property name="message" value="an empty line after a short line that ends with '{'"/>
  76. </module>
  77. <module name="TreeWalker">
  78. <module name="LineLength">
  79. <property name="max" value="120"/>
  80. </module>
  81. <module name="WhitespaceAfter"/>
  82. <module name="WhitespaceAround">
  83. <property name="tokens" value="ASSIGN, BAND, BAND_ASSIGN, BOR, BOR_ASSIGN, BSR, BSR_ASSIGN, BXOR, BXOR_ASSIGN, 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, RCURLY, SL, SLIST, SL_ASSIGN, SR, SR_ASSIGN, STAR, STAR_ASSIGN, TYPE_EXTENSION_AND"/>
  84. </module>
  85. <!-- Commented out due to false positives.
  86. <module name="MissingDeprecated"/>
  87. -->
  88. <module name="MissingOverride"/>
  89. <module name="PackageAnnotation"/>
  90. <module name="EmptyBlock">
  91. <property name="option" value="text"/>
  92. </module>
  93. <module name="LeftCurly"/>
  94. <module name="RightCurly"/>
  95. <!--
  96. <module name="NeedBraces"/>
  97. -->
  98. <module name="AvoidNestedBlocks">
  99. <property name="allowInSwitchCase" value="true"/>
  100. </module>
  101. <module name="FinalClass"/>
  102. <module name="HideUtilityClassConstructor"/>
  103. <module name="CovariantEquals"/>
  104. <module name="EmptyStatement"/>
  105. <module name="EqualsHashCode"/>
  106. <!--
  107. <module name="FinalLocalVariable"/>
  108. -->
  109. <!-- Commented out due to http://jira.codehaus.org/browse/MCHECKSTYLE-111
  110. <module name="RedundantThrows">
  111. <property name="logLoadErrors" value="false"/>
  112. <property name="suppressLoadErrors" value="true"/>
  113. </module>
  114. -->
  115. <module name="SimplifyBooleanExpression"/>
  116. <module name="SimplifyBooleanReturn"/>
  117. <module name="SuperFinalize"/>
  118. <module name="PackageDeclaration"/>
  119. <module name="ExplicitInitialization"/>
  120. <module name="DefaultComesLast"/>
  121. <module name="UnnecessaryParentheses"/>
  122. <!--
  123. <module name="AvoidStarImport">
  124. <property name="allowStaticMemberImports" value="true"/>
  125. </module>
  126. -->
  127. <module name="RedundantImport"/>
  128. <!-- Commented out due to false positives.
  129. <module name="UnusedImports">
  130. <property name="processJavadoc" value="true"/>
  131. </module>
  132. -->
  133. <module name="JavadocStyle">
  134. <property name="checkFirstSentence" value="false"/>
  135. </module>
  136. <module name="UpperEll"/>
  137. <module name="ArrayTypeStyle"/>
  138. <module name="OuterTypeFilename"/>
  139. <module name="ModifierOrder"/>
  140. <module name="RedundantModifier"/>
  141. <module name="GenericWhitespace"/>
  142. <module name="EmptyForInitializerPad"/>
  143. <module name="EmptyForIteratorPad"/>
  144. <module name="MethodParamPad"/>
  145. <module name="ParenPad"/>
  146. <module name="TypecastParenPad"/>
  147. <module name="ParameterName">
  148. <property name="format" value="^(?!arg[0-9])[_a-z][_a-zA-Z0-9]*$" />
  149. </module>
  150. </module>
  151. </module>