Checks for Headers

Checkstyle Logo

Header

Description

Checks that a source file begins with a specified header. Property headerFile specifies a file that contains the required header.

Property ignoreLines specifies the line numbers to ignore when matching lines in a header file. This property is very useful for supporting headers that contain copyright dates. For example, consider the following header:

line 1: ////////////////////////////////////////////////////////////////////
line 2: // checkstyle:
line 3: // Checks Java source code for adherence to a set of rules.
line 4: // Copyright (C) 2002  Oliver Burn
line 5: ////////////////////////////////////////////////////////////////////
      

Since the year information will change over time, you can tell Checkstyle to ignore line 4 by setting property ignoreLines to 4.

Properties

name description type default value
headerFile name of the file containing the required header string null
ignoreLines line numbers to ignore list of integers {}

Example

To configure the check to use header file "java.header" and ignore lines 2, 3, and 4:

<module name="Header">
    <property name="headerFile" value="java.header"/>
    <property name="ignoreLines"" value="2, 3, 4"/>
</module>
      

Package

com.puppycrawl.tools.checkstyle.checks

Parent Module

TreeWalker

RegexpHeader

Description

Checks the header of a source file against a header file that contains a regular expression for each line of the source header.

Rationale: In some projects checking against a fixed header is not sufficient, e.g. the header might require a copyright line where the year information is not static.

For example, consider the following header file:

line 1: /{71}
line 2: // checkstyle:
line 3: // Checks Java source code for adherence to a set of rules\.
line 4: // Copyright \(C\) \d\d\d\d  Oliver Burn
line 5: // Last modification by \$Author.*\$
line 6: /{71}
      

Lines 1 and 6 demonstrate a more compact notation for 71 '/' characters. Line 4 enforces that the copyright notice includes a four digit year. Line 5 is an example how to enforce revision control keywords in a file header.

Properties

name description type default value
headerFile name of the file containing the required header string null
ignoreLines line numbers to ignore list of integers {}

Example

To configure the check to use header file "java.header" and ignore lines 2, 3, and 4:

<module name="RegexpHeader">
    <property name="headerFile" value="java.header"/>
    <property name="ignoreLines"" value="2, 3, 4"/>
</module>
      

Package

com.puppycrawl.tools.checkstyle.checks

Parent Module

TreeWalker


Copyright © 2002 Oliver Burn. All rights Reserved.