Skip to content

Commit 01ffcdf

Browse files
committed
Update README
1 parent 5083983 commit 01ffcdf

File tree

1 file changed

+30
-26
lines changed

1 file changed

+30
-26
lines changed

README.md

Lines changed: 30 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ scoverage-maven-plugin is a plugin for Maven that integrates the scoverage code
1010
[![Maven Central](https://maven-badges.herokuapp.com/maven-central/org.scoverage/scoverage-maven-plugin/badge.svg)](http://search.maven.org/#search|ga|1|g%3A%22org.scoverage%22%20AND%20a%3A%22scoverage-maven-plugin%22)
1111

1212

13-
## How to use
13+
### How to use
1414

1515
mostly used mojos:
1616

@@ -38,23 +38,26 @@ internal mojos:
3838

3939
- **[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.
4040

41-
Maven generated plugin documentation:
41+
### Maven generated plugin documentation
4242

43-
| Version | Documentation |
44-
|---------------|-----------------------------------------------------------------------------------------------|
45-
| `2.0.1` | [Plugin Info](http://scoverage.github.io/scoverage-maven-plugin/2.0.1/plugin-info.html) |
46-
| `1.4.11` | [Plugin Info](http://scoverage.github.io/scoverage-maven-plugin/1.4.11/plugin-info.html) |
43+
| Version | Documentation |
44+
|----------|------------------------------------------------------------------------------------------|
45+
| `2.0.1` | [Plugin Info](http://scoverage.github.io/scoverage-maven-plugin/2.0.1/plugin-info.html) |
46+
| `1.4.11` | [Plugin Info](http://scoverage.github.io/scoverage-maven-plugin/1.4.11/plugin-info.html) |
4747

48-
##### Prerequisites / limitations
48+
### Prerequisites / limitations
4949

50-
Plugin is compatible with two Maven Scala compiler plugins:
50+
- Plugin is compatible with two Maven Scala compiler plugins:
5151

52-
- [SBT Compiler Maven Plugin](https://github.com/sbt-compiler-maven-plugin/sbt-compiler-maven-plugin/) - version **1.0.0-beta5** or later required,
52+
- [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.
53+
54+
- [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.
5355

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.
56+
- 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`.
57+
- Plugin is not thread-safe, so it should not be used in multi-threaded builds.
5558

5659

57-
##### Scoverage Maven plugin version
60+
### Scoverage Maven plugin version
5861

5962
This can be set as project property.
6063

@@ -67,9 +70,12 @@ This can be set as project property.
6770
```
6871

6972

70-
##### Scala version configuration
73+
### Scala version configuration
7174

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.
75+
Plugin automatically loads and configures matching `scalac-scoverage-plugin` artifact when needed.
76+
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.
77+
Without this setting, plugin will try to resolve Scala version from `scala-library` dependency of the project.
78+
If all the attempts to resolve Scala version fail, then coverage will not be calculated.
7379

7480
```xml
7581
<project>
@@ -99,7 +105,7 @@ or
99105
</project>
100106
```
101107

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.
108+
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.
103109

104110
```xml
105111
<project>
@@ -113,9 +119,7 @@ The first method is better because once the property is defined it's value can b
113119
</project>
114120
```
115121

116-
For Scala 2.10 and 2.11 support please use Scoverage Maven plugin `1.4.11`.
117-
118-
##### Scalac SCoverage plugin version configuration
122+
### Scalac SCoverage plugin version configuration
119123

120124
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.
121125
If newer, better version of [scalac-scoverage-plugin](https://github.com/scoverage/scalac-scoverage-plugin) is available, it can be used instead.
@@ -149,11 +153,11 @@ or
149153
</project>
150154
```
151155

152-
##### Integration tests coverage check and reports
156+
### Integration tests coverage check and reports
153157

154158
`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).
155159

156-
##### Aggregated reports for multi-module projects
160+
### Aggregated reports for multi-module projects
157161

158162
There is no separate mojo for aggregated reports, there is `aggregate` parameter.
159163
To additionally generate aggregated SCoverage report for root module, when generating regular reports,
@@ -261,11 +265,11 @@ or in `reporting/plugins` section when adding report to Maven generated site
261265
</project>
262266
```
263267

264-
##### Adding SCoverage report to site
268+
### Adding SCoverage report to site
265269

266270
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.
271+
By default, Maven executes all plugin's reporting mojos, but SCoverage plugin has three such mojos,
272+
and it does not make sense to execute them all because every executed report will overwrite the previous one.
269273
Configure one of them depending on your case.
270274

271275
```xml
@@ -299,7 +303,7 @@ Which reporting mojo should be selected:
299303
| [integration-report](http://scoverage.github.io/scoverage-maven-plugin/2.0.1/integration-report-mojo.html) | When using integration tests |
300304
| [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) |
301305

302-
##### Customizing code instrumentation
306+
### Customizing code instrumentation
303307

304308
If you want to customize plugin's configuration parameters used by compilation supporting part of the plugin, do it in 'plugins' or 'pluginManagement' section:
305309
```xml
@@ -325,7 +329,7 @@ If you want to customize plugin's configuration parameters used by compilation s
325329
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).
326330

327331

328-
##### Checking minimum test coverage level
332+
### Checking minimum test coverage level
329333

330334
```xml
331335
<project>
@@ -362,7 +366,7 @@ Run `mvn scoverage:check` to perform the check. See below if you want to use `mv
362366
Read [SBT SCoverage Plugin documentation](https://github.com/scoverage/sbt-scoverage#minimum-coverage) for more information.
363367

364368

365-
##### Checking minimum test coverage level AND adding report to site
369+
### Checking minimum test coverage level AND adding report to site
366370

367371
```xml
368372
<project>
@@ -409,7 +413,7 @@ Read [SBT SCoverage Plugin documentation](https://github.com/scoverage/sbt-scove
409413
Run `mvn scoverage:check` to perform the check and `mvn scoverage:report` to generate the report.
410414

411415

412-
##### Checking minimum test coverage level automatically
416+
### Checking minimum test coverage level automatically
413417

414418
If you want `mvn verify` and `mvn install` to check the coverage level, you have to change your POM
415419
so that SCoverage takes over running all the tests.

0 commit comments

Comments
 (0)