Since Checkstyle 6.9
headerFile
specifies a file that contains
the required header. Alternatively, the header specification can be
set directly in the header
property
without the need for an external file.
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
.
In default configuration, if header is not specified,
the default value of header is set to null
and the check does not rise any violations.
name | description | type | default value | since |
---|---|---|---|---|
charset | Specify the character encoding to use when reading the headerFile. | String | the charset property of the parent <a href="https://checkstyle.org/config.html#Checker">Checker</a> module |
5.0 |
fileExtensions | Specify the file extensions of the files to process. | String[] | all files |
6.9 |
header | Specify the required header specified inline. Individual header lines must be separated by the string "\n" (even on platforms with a different line separator). |
String | null |
5.0 |
headerFile | Specify the name of the file containing the required header. | URI | null |
3.2 |
ignoreLines | Specify the line numbers to ignore. | int[] | {} |
3.2 |
To configure the check such that no violations arise. Default values of properties are used.
<module name="Checker"> <module name="Header"/> </module>
To configure the check to use header file "config/java.header"
and
ignore lines 2
, 3
, and 4
and only process Java
files:
<module name="Checker"> <module name="Header"> <property name="headerFile" value="config/java.header"/> <property name="ignoreLines" value="2, 3, 4"/> <property name="fileExtensions" value="java"/> </module> </module>
To configure the check to verify that each file starts with the header
// Copyright (C) 2004 MyCompany // All rights reserved
without the need for an external header file:
<module name="Checker"> <module name="Header"> <property name="header" value="// Copyright (C) 2004 MyCompany\n// All rights reserved"/> </module> </module>
All messages can be customized if the default message doesn't suit you. Please see the documentation to learn how to.
com.puppycrawl.tools.checkstyle.checks.header