Checkstyle
results can be incorporated in the TICS output for
Java files. Checkstyle
is a development tool to help programmers
write Java code that adheres to a coding standard. By default it supports the
Sun Code Conventions
, but is highly configurable. Information on
Checkstyle
can be found at the Checkstyle website.
The integration of checkstyle
with TICS is based on
checkstyle
version 5.0. This version is downloadable via the TICS
download site. It is not recommended to use another version than this
version.
checkstyle
integration, the following
prerequisites must be met:
checkstyle
must be installed on the TICS file server in
chk/checkstyle.checkstyle
has to be configured correctly, see below.
Checkstyle
can detect many different rules. All these rules are
listed in the checkstyle
installation in the following file:
checkstyle/docs/availablechecks.html
. One can choose any set of
rules that should be reported by TICS. As with other codecheckers, this is done
by editing the RULES.txt
and the IMPL.txt
files
within the cfg/codingstandards
directory on the TICS FileServer.
The rule's identifier, severity level, category and synopsis can be modified in
the RULES.txt
. The checkstyle
rules invoked by TICS
are configured in the IMPL.txt
. In this file, the check
name of checkstyle
rules should be used as impl ID.
These check names are the strings in the first column in the
availablechecks.html
page.
Note: the checkstyle
rules have a parent-child relation. This
information should also be provided to TICS. This is done by specifying the
parent name in front of the check name. The two are separated by
an "_
". The parent-child relation can be found in the Parent
Module section of the check's explanation. If the parent of a check
name is "Checker
", which is the root of all checks, then this
parent relation does not need to be specified. A short example of the IMPL.txt
file is given further down below.
IMPL.txt
file.
An impl ID and its parameters are separated by an "=
". All
rule parameters are in the form of property-value pairs and should be specified
as property:
value. All property-value pairs are
separated by a ",
". File locations are resolved relative to the
directory containing the IMPL.txt
file.
An example of an IMPL.txt file is given below:
CS#001 checkstyle FileTabCharacter CS#002 checkstyle TreeWalker_AnnotationUseStyle CS#003 checkstyle RegexpHeader=headerFile:$(CFGPATH)/checkstyle/regexpheader.txt CS#004 checkstyle TreeWalker_MissingDeprecated CS#005 checkstyle TreeWalker_MissingOverride CS#006 checkstyle FileLength CS#007 checkstyle RegexpSingleline=format:debug,minimum:0,maximum:1
A standard checkstyle
rule configuration is available in the
form of a IMPL.txt
, RULES.txt
pair.
See
the checkstyle
website for a list of all checkstyle rules.