This page documents the JCheck configuration file .jcheck/conf. JCheck was originally a Mercurial plugin created for the OpenJDK organization to help keep order in the source repositories. The main features were whitespace checking, commit message formatting and commit hash blacklisting. Skara has taken over this role and has expanded on the functionality of JCheck.
The Skara version of .jcheck/conf is an ini-file. An ini file consists of a number of sections which contain one or more name value pairs. Below is an example of the section general
with the parameter project
set ot jdk
.
[general] project=jdk |
Below follows a breakdown of each section and the configuration options they support.
project | The OpenJDK project that this repository belongs to. |
jbs | The project name in the bug tracker. |
version | The version to use as fixVersion in the bug tracker when resolving issues. |
error | List of checks to apply to this repository/branch that are to be considered errors if they fail. |
warning | List of checks to apply to this repository/branch that are to be considered warnings if they fail. |
tags | Regex that all tags must match. |
branches | Regex that all branch names must match. |
version | Which version of the census to use (currently 0 for OpenJDK). |
domain | The domain of the census (openjdk.org for OpenJDK). |
url | The url of the census XML (defaults to "https://openjdk.org/census.xml") |
In addition to these main sections, each check can be configured in its own section on the form [checks "name"]
. Here follows a list of all currently supported checks and their options.
Checks that both the author.name and author.email have values in a commit.
Checks if there are any binary files in a commit.
Checks that the committer of a commit has at least a given role in the census for the project.
role | The minimum role required |
Checks that no files have the executable bit set.
Checks that commit messages for regular commits reference issues in the bug tracker.
pattern | The pattern to match. The first capturing group should contain the bugId. |
required | Set to true to require the bugs to exist in the bug tracker |
Checks that issue titles in commit messages don't include trailing periods or leading lowercase.
Depends on issues check, if issues check is not required, issuestitle check will be ignored.
Checks that commit messages for merge commits match a pattern.
message | The pattern to match. |
Checks for formatting issues in commit messages.
Checks the contents of Jtreg problem list files.
dirs | List of directories to look for files in. Separated by | . |
pattern | Regex naming pattern for problem list files. |
Checks that commits do not contain symlinks.
Checks that a commit has enough reviewers with the required role. The default is 0 for each role.
lead | How many of the lead role that are required. |
reviewers | How many of the reviewer role that are required. |
committers | How many of the committer role that are required. |
authors | How many of the author role that are required. |
contributors | How many of the contributor role that are required. |
Checks source files for whitespace issues.
files | Regex matching all files that should be included in the whitespace check. |
ignore-tabs | Regex matching all files where tabs should be allowed. |