Instrument all sources using Clover and forks a custom lifecycle to execute project's tests on the instrumented code so that a Clover database is created.
Note: We're forking a lifecycle because we don't want the Clover instrumentation to affect the main lifecycle build. This will prevent instrumented sources to be put in production by error. Thus running mvn install on a project where this instrument goal has been specified will run the build twice: once for building the project as usual and another time for instrumenting the sources with Clover and generating the Clover database.
Mojo Attributes:
install prior to executing itself.clover| Name | Type | Description |
|---|---|---|
| cloverDatabase | String |
The location of the Clover database. |
| cloverMergeDatabase | String |
The location of the merged clover database to create when running a report in a multimodule build. |
| project | MavenProject |
The Maven project instance for the executing project. Note: This is passed by Maven and must not be configured by the user. |
| Name | Type | Description |
|---|---|---|
| flushInterval | int |
When the Clover Flush Policy is set to "interval" or threaded this value is the minimum period between flush operations (in milliseconds). Default value is 500. |
| flushPolicy | String |
The Clover flush policy to use. Valid values are directed, interval and threaded. Default value is threaded. |
| jdk | String |
Whether the Clover instrumentation should use the Clover jdk14 or jdk15 flags to parse sources. |
| licenseFile | String |
A Clover license file to be used by the plugin. If not specified, the Clover plugin uses a default evaluation license. |
| licenseLocation | String |
A Clover license file to be used by the plugin. The plugin tries to resolve this parameter first as a resource, then as a URL, and then as a file location on the filesystem. |
| waitForFlush | boolean |
If true we'll wait 2*flushInterval to ensure coverage data is flushed to the Clover database before running any query on it. Note: The only use case where you would want to turn this off is if you're running your tests in a separate JVM. In that case the coverage data will be flushed by default upon the JVM shutdown and there would be no need to wait for the data to be flushed. As we can't control whether users want to fork their tests or not, we're offering this parameter to them. Default value is true. |
The location of the Clover database.
java.lang.StringYes${project.build.directory}/clover/clover.dbjava.lang.StringYes${project.build.directory}/clover/cloverMerge.dbintNo500directed, interval and threaded.
java.lang.StringNothreadedjdk14 or jdk15 flags to parse sources.
java.lang.StringNojava.lang.StringNojava.lang.StringNoorg.apache.maven.project.MavenProjectYes${project}booleanNotrue