You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+32-30Lines changed: 32 additions & 30 deletions
Original file line number
Diff line number
Diff line change
@@ -3,14 +3,12 @@ scoverage-maven-plugin
3
3
4
4
scoverage-maven-plugin is a plugin for Maven that integrates the scoverage code coverage library. Find out more about [scoverage](https://github.com/scoverage/scalac-scoverage-plugin).
5
5
6
-
[](https://gitter.im/scoverage/scoverage-maven-plugin?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
-**[pre-compile](http://scoverage.github.io/scoverage-maven-plugin/2.0.1/pre-compile-mojo.html)** and **[post-compile](http://scoverage.github.io/scoverage-maven-plugin/2.0.1/post-compile-mojo.html)** are internal goals, they configure Maven build in forked `scoverage` life cycle; don't use them.
Plugin is compatible with two Maven Scala compiler plugins:
48
+
-Plugin is compatible with two Maven Scala compiler plugins:
51
49
52
-
-[SBT Compiler Maven Plugin](https://github.com/sbt-compiler-maven-plugin/sbt-compiler-maven-plugin/) - version **1.0.0-beta5** or later required,
50
+
-[Scala Maven Plugin](http://davidb.github.io/scala-maven-plugin/) - version `3.0.0` or later required, [addScalacArgs](http://davidb.github.io/scala-maven-plugin/compile-mojo.html#addScalacArgs) and [analysisCacheFile](http://davidb.github.io/scala-maven-plugin/compile-mojo.html#analysisCacheFile) configuration parameters cannot be set directly, use project properties `addScalacArgs` and `analysisCacheFile` instead.
51
+
52
+
-[SBT Compiler Maven Plugin](https://github.com/sbt-compiler-maven-plugin/sbt-compiler-maven-plugin/) - version `1.0.0-beta5` or later required. Currently it works only with Scoverage Maven Plugin `1.4.11` or earlier.
53
53
54
-
-[Scala Maven Plugin](http://davidb.github.io/scala-maven-plugin/) - version **3.0.0** or later required, [addScalacArgs](http://davidb.github.io/scala-maven-plugin/compile-mojo.html#addScalacArgs) and [analysisCacheFile](http://davidb.github.io/scala-maven-plugin/compile-mojo.html#analysisCacheFile) configuration parameters cannot be set directly, use project properties 'addScalacArgs' and 'analysisCacheFile' instead.
54
+
- Starting with version `2.0.0` plugin supports Scala `2.12.8+`, `2.13.0+` and `3.2.0+`. For Scala `2.10` and `2.11` support please use version `1.4.11`.
55
+
- Plugin is not thread-safe, so it should not be used in multi-threaded builds.
55
56
56
57
57
-
#####Scoverage Maven plugin version
58
+
### Scoverage Maven plugin version
58
59
59
60
This can be set as project property.
60
61
@@ -67,9 +68,12 @@ This can be set as project property.
67
68
```
68
69
69
70
70
-
#####Scala version configuration
71
+
### Scala version configuration
71
72
72
-
Plugin supports Scala 2.12.8+, 2.13.0+ and 3.2.0+ versions by automatically loading and configuring matching `scalac-scoverage-plugin` Scalac SCoverage Plugin artifact. For this to work Scala version has to be set. It can be done by defining `scalaVersion` plugin configuration parameter or `scala.version` project property. Without this setting, coverage will not be calculated.
73
+
Plugin automatically loads and configures matching `scalac-scoverage-plugin` artifact when needed.
74
+
For this to work Scala version has to be set. It can be done by defining `scalaVersion` plugin configuration parameter or `scala.version` project property.
75
+
Without this setting, plugin will try to resolve Scala version from `scala-library` dependency of the project.
76
+
If all the attempts to resolve Scala version fail, then coverage will not be calculated.
73
77
74
78
```xml
75
79
<project>
@@ -99,7 +103,7 @@ or
99
103
</project>
100
104
```
101
105
102
-
The first method is better because once the property is defined it's value can be used in other places of the build file. For example in `scala-library` dependency version every Scala build should declare.
106
+
The first method is better because once the property is defined its value can be used in other places of the build file. For example in `scala-library` dependency version every Scala build should declare.
103
107
104
108
```xml
105
109
<project>
@@ -113,9 +117,7 @@ The first method is better because once the property is defined it's value can b
113
117
</project>
114
118
```
115
119
116
-
For Scala 2.10 and 2.11 support please use Scoverage Maven plugin `1.4.11`.
117
-
118
-
##### Scalac SCoverage plugin version configuration
120
+
### Scalac SCoverage plugin version configuration
119
121
120
122
Maven SCoverage plugin uses by default the latest version of the [scalac-scoverage-plugin](https://github.com/scoverage/scalac-scoverage-plugin) available on its release day.
121
123
If newer, better version of [scalac-scoverage-plugin](https://github.com/scoverage/scalac-scoverage-plugin) is available, it can be used instead.
@@ -149,11 +151,11 @@ or
149
151
</project>
150
152
```
151
153
152
-
#####Integration tests coverage check and reports
154
+
### Integration tests coverage check and reports
153
155
154
156
`integration-check` and `integration-report` mojos are similar to `check` and `report` mojos, but they execute forked `scoverage` life cycle up to `verify` phase (integration tests are usually executed in `integration-test` phase).
155
157
156
-
#####Aggregated reports for multi-module projects
158
+
### Aggregated reports for multi-module projects
157
159
158
160
There is no separate mojo for aggregated reports, there is `aggregate` parameter.
159
161
To additionally generate aggregated SCoverage report for root module, when generating regular reports,
@@ -261,11 +263,11 @@ or in `reporting/plugins` section when adding report to Maven generated site
261
263
</project>
262
264
```
263
265
264
-
#####Adding SCoverage report to site
266
+
### Adding SCoverage report to site
265
267
266
268
Add plugin to reporting section of your project and configure it to generate one of reporting mojos.
267
-
By default Maven executes all plugin's reporting mojos, but SCoverage plugin has three such mojos
268
-
and it does not make sense, to execute them all because every executed report will overwrite the previous one.
269
+
By default, Maven executes all plugin's reporting mojos, but SCoverage plugin has three such mojos,
270
+
and it does not make sense to execute them all because every executed report will overwrite the previous one.
269
271
Configure one of them depending on your case.
270
272
271
273
```xml
@@ -299,7 +301,7 @@ Which reporting mojo should be selected:
299
301
|[integration-report](http://scoverage.github.io/scoverage-maven-plugin/2.0.1/integration-report-mojo.html)| When using integration tests |
300
302
|[report-only](http://scoverage.github.io/scoverage-maven-plugin/2.0.1/report-only-mojo.html)| When coverage data was already generated (usually by [check](http://scoverage.github.io/scoverage-maven-plugin/2.0.1/check-mojo.html) or [integration-check](http://scoverage.github.io/scoverage-maven-plugin/2.0.1/integration-check-mojo.html) mojo) |
301
303
302
-
#####Customizing code instrumentation
304
+
### Customizing code instrumentation
303
305
304
306
If you want to customize plugin's configuration parameters used by compilation supporting part of the plugin, do it in 'plugins' or 'pluginManagement' section:
305
307
```xml
@@ -325,7 +327,7 @@ If you want to customize plugin's configuration parameters used by compilation s
325
327
Read [SBT SCoverage Plugin documentation](https://github.com/scoverage/sbt-scoverage) for more information about [highlighting](https://github.com/scoverage/sbt-scoverage#highlighting) and [excludedPackages](https://github.com/scoverage/sbt-scoverage#exclude-classes-and-packages).
326
328
327
329
328
-
#####Checking minimum test coverage level
330
+
### Checking minimum test coverage level
329
331
330
332
```xml
331
333
<project>
@@ -362,7 +364,7 @@ Run `mvn scoverage:check` to perform the check. See below if you want to use `mv
362
364
Read [SBT SCoverage Plugin documentation](https://github.com/scoverage/sbt-scoverage#minimum-coverage) for more information.
363
365
364
366
365
-
#####Checking minimum test coverage level AND adding report to site
367
+
### Checking minimum test coverage level AND adding report to site
0 commit comments