Clover registry file <path/to/clover.db> does not exist
Symptoms
Trying to generate a Clover report, but a following message is thrown:
Clover registry file <path/to/clover.db> does not exist, cannot be read or is a directory.
Please ensure Clover has instrumented your source files.
You may need to remove existing .class files for this to occur.
or
Clover registry file: <path/to/clover.db> does not exist.
Cause
Clover was not able find a Clover database at specified location. It means that:
1) either location is invalid
- usually happens if you use relative path for initstring and compilation (and thus Clover instrumentation) is executed from one working directory, while report generation from another directory
2) or database is missing
- it can happen when report is being generated on a different machine and the Clover database was not copied to this machine
- for instance: Clover with Bamboo + multiple remote agents + build and reporting made in separate Jobs + clover.db is not defined as a shared artefact
- it can happen when your build did not perform Clover instrumentation before running report generation
- for instance: when your build have compiled sources without Clover first, next it called <clover-setup> but did not call "clean" target and next tried to compile sources again; as no sources were recompiled (no "clean"), no database was generated
Resolution
Check if initstring path does not need to be corrected. Check if builds are running from a correct working directory.
In case when reporting is done on a different machine, check if clover.db (and coverage files!) was copied to the desired location.
In case when Bamboo with multiple remote agents is used and reporting is made in a separate job, share the clover.db (with coverage files) as a Shared Artefact.
Check if build executes "clean" before calling "clover-setup".