checkstyle.xml 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  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. <!-- Copyright headers -->
  36. <module name="RegexpSingleline">
  37. <property name="format" value="^(\s|\*)*Copyright\s.*$"/>
  38. <property name="minimum" value="1"/>
  39. <property name="maximum" value="1"/>
  40. <property name="message" value="missing copyright header"/>
  41. </module>
  42. <!-- Unmaintainable Javadoc tags -->
  43. <module name="RegexpSingleline">
  44. <property name="format" value="(@(author|version)|\(non-Javadoc\))"/>
  45. <property name="ignoreCase" value="true"/>
  46. <property name="message" value="unmaintainable Javadoc tags: @author, @version, or (non-Javadoc)"/>
  47. </module>
  48. <!-- IDE-generated comment -->
  49. <module name="RegexpSingleline">
  50. <property name="format" value="File \| Settings \| File Templates"/>
  51. <property name="message" value="IDE-generated comment"/>
  52. </module>
  53. <!-- Force UNIX line separator
  54. <module name="io.netty.build.checkstyle.NewlineCheck"/>
  55. -->
  56. <!-- Trailing whitespace -->
  57. <module name="RegexpSingleline">
  58. <property name="format" value="\s+$"/>
  59. <property name="message" value="trailing whitespace"/>
  60. </module>
  61. <!-- Prohibit consecutive empty lines (except the lines after package/import) -->
  62. <module name="RegexpMultiline">
  63. <property name="format" value="\n *(?!package )(?!import )[^\n]+\n{3,}"/>
  64. <property name="message" value="two or more consecutive empty lines"/>
  65. </module>
  66. <!-- Prohibit an empty after { or before } -->
  67. <module name="RegexpMultiline">
  68. <property name="format" value="\n\n\s+\}[^\n]{0,10}\n"/>
  69. <property name="message" value="an empty line before '}'"/>
  70. </module>
  71. <module name="RegexpMultiline">
  72. <property name="format" value="\n\s+[^\n]{1,8}\{\n\n"/>
  73. <property name="message" value="an empty line after a short line that ends with '{'"/>
  74. </module>
  75. <module name="TreeWalker">
  76. <module name="LineLength">
  77. <property name="max" value="120"/>
  78. </module>
  79. <module name="WhitespaceAfter"/>
  80. <module name="WhitespaceAround">
  81. <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"/>
  82. </module>
  83. <!-- Commented out due to false positives.
  84. <module name="MissingDeprecated"/>
  85. -->
  86. <module name="MissingOverride"/>
  87. <module name="PackageAnnotation"/>
  88. <module name="EmptyBlock">
  89. <property name="option" value="text"/>
  90. </module>
  91. <module name="LeftCurly"/>
  92. <module name="RightCurly"/>
  93. <module name="NeedBraces"/>
  94. <module name="AvoidNestedBlocks">
  95. <property name="allowInSwitchCase" value="true"/>
  96. </module>
  97. <module name="FinalClass"/>
  98. <module name="HideUtilityClassConstructor"/>
  99. <module name="CovariantEquals"/>
  100. <module name="EmptyStatement"/>
  101. <module name="EqualsHashCode"/>
  102. <!--
  103. <module name="FinalLocalVariable"/>
  104. -->
  105. <!-- Commented out due to http://jira.codehaus.org/browse/MCHECKSTYLE-111
  106. <module name="RedundantThrows">
  107. <property name="logLoadErrors" value="false"/>
  108. <property name="suppressLoadErrors" value="true"/>
  109. </module>
  110. -->
  111. <module name="SimplifyBooleanExpression"/>
  112. <module name="SimplifyBooleanReturn"/>
  113. <module name="SuperFinalize"/>
  114. <module name="PackageDeclaration"/>
  115. <module name="ExplicitInitialization"/>
  116. <module name="DefaultComesLast"/>
  117. <module name="UnnecessaryParentheses"/>
  118. <module name="AvoidStarImport">
  119. <property name="allowStaticMemberImports" value="true"/>
  120. </module>
  121. <module name="RedundantImport"/>
  122. <!-- Commented out due to false positives.
  123. <module name="UnusedImports">
  124. <property name="processJavadoc" value="true"/>
  125. </module>
  126. -->
  127. <module name="JavadocStyle">
  128. <property name="checkFirstSentence" value="false"/>
  129. </module>
  130. <module name="UpperEll"/>
  131. <module name="ArrayTypeStyle"/>
  132. <module name="OuterTypeFilename"/>
  133. <module name="ModifierOrder"/>
  134. <module name="RedundantModifier"/>
  135. <module name="GenericWhitespace"/>
  136. <module name="EmptyForInitializerPad"/>
  137. <module name="EmptyForIteratorPad"/>
  138. <module name="MethodParamPad"/>
  139. <module name="ParenPad"/>
  140. <module name="TypecastParenPad"/>
  141. <module name="ParameterName">
  142. <property name="format" value="^(?!arg[0-9])[_a-z][_a-zA-Z0-9]*$" />
  143. </module>
  144. </module>
  145. </module>