Skip to content

Commit 99a89b8

Browse files
committed
Update README
1 parent 5083983 commit 99a89b8

File tree

1 file changed

+29
-23
lines changed

1 file changed

+29
-23
lines changed

README.md

Lines changed: 29 additions & 23 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, works with plugin off version `1.4.11`.
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+
- Plugin is not thread-safe, so it should not be used in multi-threaded builds.
57+
- 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 plugin of version `1.4.11`.
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>
@@ -115,7 +121,7 @@ The first method is better because once the property is defined it's value can b
115121

116122
For Scala 2.10 and 2.11 support please use Scoverage Maven plugin `1.4.11`.
117123

118-
##### Scalac SCoverage plugin version configuration
124+
### Scalac SCoverage plugin version configuration
119125

120126
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.
121127
If newer, better version of [scalac-scoverage-plugin](https://github.com/scoverage/scalac-scoverage-plugin) is available, it can be used instead.
@@ -149,11 +155,11 @@ or
149155
</project>
150156
```
151157

152-
##### Integration tests coverage check and reports
158+
### Integration tests coverage check and reports
153159

154160
`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).
155161

156-
##### Aggregated reports for multi-module projects
162+
### Aggregated reports for multi-module projects
157163

158164
There is no separate mojo for aggregated reports, there is `aggregate` parameter.
159165
To additionally generate aggregated SCoverage report for root module, when generating regular reports,
@@ -261,10 +267,10 @@ or in `reporting/plugins` section when adding report to Maven generated site
261267
</project>
262268
```
263269

264-
##### Adding SCoverage report to site
270+
### Adding SCoverage report to site
265271

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

@@ -299,7 +305,7 @@ Which reporting mojo should be selected:
299305
| [integration-report](http://scoverage.github.io/scoverage-maven-plugin/2.0.1/integration-report-mojo.html) | When using integration tests |
300306
| [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) |
301307

302-
##### Customizing code instrumentation
308+
### Customizing code instrumentation
303309

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

327333

328-
##### Checking minimum test coverage level
334+
### Checking minimum test coverage level
329335

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

364370

365-
##### Checking minimum test coverage level AND adding report to site
371+
### Checking minimum test coverage level AND adding report to site
366372

367373
```xml
368374
<project>
@@ -409,7 +415,7 @@ Read [SBT SCoverage Plugin documentation](https://github.com/scoverage/sbt-scove
409415
Run `mvn scoverage:check` to perform the check and `mvn scoverage:report` to generate the report.
410416

411417

412-
##### Checking minimum test coverage level automatically
418+
### Checking minimum test coverage level automatically
413419

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

0 commit comments

Comments
 (0)