Since Checkstyle 8.23
SuppressionSingleFilter
suppresses audit events for
Checks violations in the specified file, class, checks, message, module id,
lines, and columns.
Rationale: To allow users to use suppressions configured in the same config as other
modules. SuppressionFilter
and SuppressionXpathFilter
require
a separate file.
Advice: If checkstyle configuration is used for several projects, single suppressions on common files/folders is better to put in checkstyle configuration as common rule. All suppression that are for specific file names is better to keep in project specific config file.
Attention: This filter only supports single suppression, and will need multiple instances if users wants to suppress multiple violations.
SuppressionSingleFilter
can suppress Checks that have
Treewalker
or Checker
as parent module.
name | description | type | default value | since |
---|---|---|---|---|
checks | Define the RegExp for matching against the name of the check associated with an audit event. | Pattern | null |
8.23 |
columns | Specify a comma-separated list of values, where each value is an integer or a range of integers denoted by integer-integer. | String | null |
8.23 |
files | Define the RegExp for matching against the file name associated with an audit event. | Pattern | null |
8.23 |
id | Specify a string matched against the ID of the check associated with an audit event. | String | null |
8.23 |
lines | Specify a comma-separated list of values, where each value is an integer or a range of integers denoted by integer-integer. | String | null |
8.23 |
message | Define the RegExp for matching against the message of the check associated with an audit event. | Pattern | null |
8.23 |
The following suppressions directs
a SuppressionSingleFilter
to
reject JavadocStyleCheck
violations for
lines 82 and 108 to 122 of
file AbstractComplexityCheck.java
,
and MagicNumberCheck
violations for line
221 of file JavadocStyleCheck.java
,
and 'Missing a Javadoc comment'
violations
for all lines and files:
<module name="Checker"> <module name="SuppressionSingleFilter"> <property name="checks" value="JavadocStyleCheck"/> <property name="files" value="AbstractComplexityCheck.java"/> <property name="lines" value="82,108-122"/> </module> <module name="SuppressionSingleFilter"> <property name="checks" value="MagicNumberCheck"/> <property name="files" value="JavadocStyleCheck.java"/> <property name="lines" value="221"/> </module> <module name="SuppressionSingleFilter"> <property name="message" value="Missing a Javadoc comment"/> </module> </module>
Suppress check by module id when config have two instances on the same check:
<module name="Checker"> <module name="SuppressionSingleFilter"> <property name="id" value="stringEqual"/> <property name="files" value="SomeTestCode.java"/> </module> </module>
Suppress all checks for hidden files and folders:
<module name="Checker"> <module name="SuppressionSingleFilter"> <property name="files" value="[/\\]\..+"/> <property name="checks" value=".*"/> </module> </module>
Suppress all checks for Maven-generated code:
<module name="Checker"> <module name="SuppressionSingleFilter"> <property name="files" value="[/\\]target[/\\]"/> <property name="checks" value=".*"/> </module> </module>
Suppress all checks for archives, classes and other binary files:
<module name="Checker"> <module name="SuppressionSingleFilter"> <property name="files" value=".+\.(?:jar|zip|war|class|tar|bin)$"/> <property name="checks" value=".*"/> </module> </module>
Suppress all checks for image files:
<module name="Checker"> <module name="SuppressionSingleFilter"> <property name="files" value=".+\.(?:png|gif|jpg|jpeg)$"/> <property name="checks" value=".*"/> </module> </module>
Suppress all checks for non-java files:
<module name="Checker"> <module name="SuppressionSingleFilter"> <property name="files" value=".+\.(?:txt|xml|csv|sh|thrift|html|sql|eot|ttf|woff|css|png)$"/> <property name="checks" value=".*"/> </module> </module>
Suppress all checks in generated sources:
<module name="Checker"> <module name="SuppressionSingleFilter"> <property name="files" value="com[\\/]mycompany[\\/]app[\\/]gen[\\/]"/> <property name="checks" value=".*"/> </module> </module>
Suppress FileLength check on integration tests in certain folder:
<module name="Checker"> <module name="SuppressionSingleFilter"> <property name="files" value="com[\\/]mycompany[\\/]app[\\/].*IT.java"/> <property name="checks" value="FileLength"/> </module> </module>
Suppress naming violations on variable named 'log' in all files:
<module name="Checker"> <module name="SuppressionSingleFilter"> <property name="message" value="Name 'log' must match pattern"/> </module> </module>
com.puppycrawl.tools.checkstyle.filters