The TICS client is used to check the quality of your code before committing (or pushing) it to the repository.
TICS [ @ ] { input } ... [ -- { compiler options } ]
Examples of TICS calls are TICS xyz.cpp abc.c
and TICS @xyz.vcxproj
.
The TICS executable accepts multiple files as arguments (including wildcards in directory and file names).
It can also process a list of input files from a file list.
This is achieved by prefixing the file list with an "at" symbol '@
', e.g.,
TICS @Address.lst
. It is not allowed to nest file lists.
For an example of how to use file lists in the TICS context, see this use case.
everything/in/my/directory/*
, is discouraged. This is because some
shells (among which Bash and the Windows command line prompt) already resolve
these wildcard parameters before starting TICS, and pass the
resolved parameters to TICS rather than the wildcard as is. As
such, if you use wildcard parameters, you may not be passing the command line
arguments to TICS that you are expecting - resulting in unexpected behavior.
Note also that the client will check against the ARCHIVE.txt
file(s) unless a list of source files is directly passed to the client,
for instance TICS src1.cpp src2.cpp src3.cpp
. If it however
contains any containers (for instance a file list or a directory) then
then the ARCHIVE.txt
will be used.
Further filtering on the set of input files can be done by using the
-language
parameter. For instance, if you are checking the contents
of a large directory but are only interested in the Python code, you can use
the parameter -language PYTHON
to filter out all non-Python files.
When the ARCHIVE.txt is used by the
TICS client and different
code types are specified within
the ARCHIVE.txt
file, the default behaviour of the TICS client is
to exclude all files that are not marked as production code. If you still
want to analyze files that are not production code, the following ways are
available to do so:
ARCHIVE.txt
and
code type checks. TICS assumes that if you explicitly pass a file, you want to
analyze the file.-ignorefilters
command line option which will cause
TICS to ignore the contents of the ARCHIVE.txt
file.-codetype
argument, which allows you to pick which
specific types of code you want to analyze with the TICS client.For some other options regarding filtering the list of files that TICS analyzes, you can check out use cases how to control the TICS analysis set.
The TICS client needs to authenticate itself when communicating with the viewer. The procedure to obtain an authentication token is described here.
Being a console application, the TICS client outputs its results to the console. This output can be adjusted to show specific information. Please refer to the Controlling TICS output section for more information.
It is also possible to view the TiCS Client results inside the TiCS Viewer. This is a more convenient way to explore your code quality data. Please refer to the Client Viewer section for more information.