The TICS client is an optional component of the TICS framework that developers can use to check the quality of their code before committing (or pushing) it to the repository.
In order to start using TICS client, you need to install the thin application wrapper on your machine. On each invocation, the wrapper queries the TICS Viewer to determine which particular version of TICS should be used, and will download it to the local machine when not yet present. This means that the wrapper should normally not be updated if you want to start using a new version of TICS. However, sometimes it might be needed to update the wrapper, because of changes or bug fixes to the wrapper itself.
Please take the following steps to install or update the TICS client (wrapper) on your development machine:
.ini
file)
from your system administrator or other TICS representative.
ticssetup-<version>.exe
.
In case any options are set in a setup.ini file,
such as the location of the TICS Viewer,
the installer will not ask for those options.
It is important to run the installer from its original location since it may depend on any .ini
file being present.
.ini
file, you have to...:
TICS
environment variable is already set, you will not be asked for this location.
During the installation, the TICS installer will set the TICS
environment variable for you,
which is a URL pointing at an API endpoint of the TICS Viewer. This URL also contains the name of a
TICS Analyzer Configuration.
If the location of the TICS Viewer changes or you want to use a different configuration,
you should change the value of the TICS
environment variable.
tics_client.token
%APPDATA%/TICS
(Windows) or in ~/.tics
(Linux)
These PKIX path errors come in various forms, such as
PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException:
unable to find valid certification path to requested target
or
PKIX path validation failed: java.security.cert.CertPathValidatorException: signature check failed
.
This happens when the TICS Viewer is using an SSL certificate that is either self-signed or uses a root certificate that is not recognized by the default trust store. To resolve this please see here.
The TICS framework downloads TICS binaries, code checkers, configuration files to a local cache directory before using them.
It may sometimes be desirable to show or remove the local cache.
This can be done by invoking the wrapper with the -wrapper
flag.
In the examples below, we use the TICS
command, but any TICS
application (TICSQServer
, TICSMaintenance
, etc.) can
be used to accomplish the same thing.
The command TICS -wrapper -showcache
can be used to show the cache
that is available on the client. The output looks as follows:
DIRECTORY CONTENTS PART OF CONFIGURATION f7c07954062d90832043efe806884775 lib yes 346be58b99602d0005fdb522ad758dc6 bin yes 0daa2869d4fa142520f7ea99f1b865ae cfg yes 9c766c48a0264cb6e5e9353135d6382c rules yes 1cc655ffc7de021b3a20d677dbf21cd9 chk yes
The last column indicates whether the directory is part of the current configuration. If TICS has been used for multiple configurations, this may result in directories that are not part of the current configuration.
In order to remove the local cache, the following commands can be used:
TICS -wrapper -clearconfigurationcache
, which deletes the cache
for the currently active configuration
TICS -wrapper -clearallcaches
, which deletes the caches for all
configurations
The difference between caches that are part of the configuration and caches
that aren't can be seen through the command TICS -wrapper
-showcache
.
wrapper.properties
file or by setting environment variables:
Setting | Environment variable | Property | Default value |
---|---|---|---|
Number of connection retries | TICSCONNECTIONRETRIES | connection_retries | 10 |
Delay between connection attempts (in seconds) | TICSCONNECTIONRETRYDELAY | connection_retry_delay | 60 |
Connection timeout (in seconds) | TICSCONNECTIONTIMEOUT | connection_timeout | 300 |