Architecture of the clover:clover goal

The clover:clover goal performs source code instrumentation and generates a Clover report. Here's how it works:

Clover report goal architecture

Note that the generation of the Clover database is independent of the clover:clover goal which expects a Clover database to exist prior to calling it. In the architecture diagram we've shown a typical use case where the creation of the Clover database is done by binding the clover:instrument goal to the pre-site phase so that it executes prior to the report generation.