BeforeExecutionExclusionFileFilter

Since Checkstyle 7.2

Description

File filter BeforeExecutionExclusionFileFilter decides which files should be excluded from being processed by the utility.

By default, Checkstyle includes all files and subdirectories in a directory to be processed and checked for violations. Users could have files that are in these subdirectories 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.

Properties

name description type default value since
fileNamePattern Define regular expression to match the file name against. Pattern null 7.2

Examples

To configure the filter to exclude all 'module-info.java' files:

<module name="Checker">
  <module name="BeforeExecutionExclusionFileFilter">
    <property name="fileNamePattern" value="module\-info\.java$"/>
  </module>
</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="Checker">
  <module name="BeforeExecutionExclusionFileFilter">
    <property name="fileNamePattern"
      value="^(?!.*(Remote\.java|Client\.java|[\\/]Remote\.java|[\\/]Client\.java)).*$"/>
  </module>
</module>
        

To configure the filter to exclude all Test folder files:

<module name="Checker">
  <module name="BeforeExecutionExclusionFileFilter">
    <property name="fileNamePattern"
      value=".*[\\/]src[\\/]test[\\/].*$"/>
  </module>
</module>
        

Example of Usage

Package

com.puppycrawl.tools.checkstyle.filefilters

Parent Module

Checker