Since Checkstyle 7.2
File filter BeforeExecutionExclusionFileFilter
decides which files should be
excluded from being processed by the utility.
By default Checkstyle includes all files and sub-directories in a directory to be
processed and checked for violations. Users could have files that are in these
sub-directories that shouldn't be processed with their checkstyle configuration for
various reasons, one of which is a valid Java file that won't pass Checkstyle's parser.
When Checkstyle tries to parse a Java file and fails, it will throw an
Exception
and halt parsing any more files for violations. An example of a
valid Java file Checkstyle can't parse is JDK 9's module-info.java
.
This file filter will exclude these problem files from being parsed,
allowing the rest of the files to run normal and be validated.
Note: When a file is excluded from the utility, it is excluded from all Checks and no testing for violations will be performed on them.
name | description | type | default value | since |
---|---|---|---|---|
fileNamePattern | Define regular expression to match the file name against. | Pattern | null |
7.2 |
To configure the filter to exclude all 'module-info.java' files:
<module name="BeforeExecutionExclusionFileFilter"> <property name="fileNamePattern" value="module\-info\.java$"/> </module>
To configure the filter to run only on required files for example that ends with "Remote" or end with "Client" in names or named as "Remote.java" or "Client.java" use negative lookahead:
<module name="BeforeExecutionExclusionFileFilter"> <property name="fileNamePattern" value="^(?!.*(Remote\.java|Client\.java|[\\/]Remote\.java|[\\/]Client\.java)).*$"/> </module>
com.puppycrawl.tools.checkstyle.filefilters