55 lines
2.6 KiB
Markdown
55 lines
2.6 KiB
Markdown
# [bld](https://rife2.com/bld) Extension to Generate Code Coverage Reports with [JaCoCo](https://www.eclemma.org/jacoco/)
|
|
|
|
|
|
[](https://opensource.org/licenses/Apache-2.0)
|
|
[](https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html)
|
|
[](https://rife2.com/bld)
|
|
[](https://repo.rife2.com/#/releases/com/uwyn/rife2/bld-jacoco-report)
|
|
[](https://repo.rife2.com/#/snapshots/com/uwyn/rife2/bld-jacoco-report)
|
|
[](https://github.com/rife2/bld-jacoco-report/actions/workflows/bld.yml)
|
|
|
|
To install the latest version, add the following to the `lib/bld/bld-wrapper.properties` file:
|
|
|
|
```properties
|
|
bld.extension-jacoco=com.uwyn.rife2:bld-jacoco-report
|
|
```
|
|
|
|
For more information, please refer to the [extensions](https://github.com/rife2/bld/wiki/Extensions) documentation.
|
|
|
|
## Generate Code Coverage Reports
|
|
|
|
To run the tests and generate the code coverage reports, add the floowing to your build file:
|
|
|
|
```java
|
|
@BuildCommand(summary = "Generates Jacoco Reports")
|
|
public void jacoco() throws Exception {
|
|
new JacocoReportOperation()
|
|
.fromProject(this)
|
|
.execute();
|
|
}
|
|
```
|
|
|
|
```console
|
|
./bld compile jacoco
|
|
```
|
|
|
|
- [View Examples](https://github.com/rife2/bld-jacoco-report/tree/master/examples)
|
|
|
|
- The HTML, CSV and XML reports will be automatically created in the `build/reports/jacoco/test` directory.
|
|
- The execution coverage data will be automatically recorded in the `build/jacoco/jacoco.exec` file.
|
|
|
|
Please check the [JacocoReportOperation documentation](https://rife2.github.io/bld-jacoco-report/rife/bld/extension/JacocoReportOperation.html#method-summary) for all available configuration options.
|
|
|
|
### SonarQube/SonarCloud
|
|
|
|
To use a JaCoCo report with [sonar](https://www.sonarsource.com/), add something like the following to your `sonar-project.properties`:
|
|
|
|
```properties
|
|
sonar.organization=YOUR_ORGANIZATION
|
|
sonar.projectKey=YOUR_PROJECT_KEY
|
|
sonar.coverage.jacoco.xmlReportPaths=build/reports/jacoco/test/jacocoTestReport.xml
|
|
sonar.sources=src/main/java/
|
|
sonar.tests=src/test/java/
|
|
sonar.java.binaries=build/main,build/test
|
|
sonar.java.libraries=lib/compile/*.jar
|
|
```
|