Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/exasol/quality-summarizer-maven-plugin

Maven plugin that summarizes quality metrics from different source into a single file
https://github.com/exasol/quality-summarizer-maven-plugin

exasol-integration software-quality summarizer

Last synced: about 2 months ago
JSON representation

Maven plugin that summarizes quality metrics from different source into a single file

Awesome Lists containing this project

README

        

# quality-summarizer-maven-plugin

[![Build Status](https://github.com/exasol/quality-summarizer-maven-plugin/actions/workflows/ci-build.yml/badge.svg)](https://github.com/exasol/quality-summarizer-maven-plugin/actions/workflows/ci-build.yml)
[![Maven Central – Quality Summarizer Maven Plugin](https://img.shields.io/maven-central/v/com.exasol/quality-summarizer-maven-plugin)](https://search.maven.org/artifact/com.exasol/quality-summarizer-maven-plugin)

[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=com.exasol%3Aquality-summarizer-maven-plugin&metric=alert_status)](https://sonarcloud.io/dashboard?id=com.exasol%3Aquality-summarizer-maven-plugin)

[![Security Rating](https://sonarcloud.io/api/project_badges/measure?project=com.exasol%3Aquality-summarizer-maven-plugin&metric=security_rating)](https://sonarcloud.io/dashboard?id=com.exasol%3Aquality-summarizer-maven-plugin)
[![Reliability Rating](https://sonarcloud.io/api/project_badges/measure?project=com.exasol%3Aquality-summarizer-maven-plugin&metric=reliability_rating)](https://sonarcloud.io/dashboard?id=com.exasol%3Aquality-summarizer-maven-plugin)
[![Maintainability Rating](https://sonarcloud.io/api/project_badges/measure?project=com.exasol%3Aquality-summarizer-maven-plugin&metric=sqale_rating)](https://sonarcloud.io/dashboard?id=com.exasol%3Aquality-summarizer-maven-plugin)
[![Technical Debt](https://sonarcloud.io/api/project_badges/measure?project=com.exasol%3Aquality-summarizer-maven-plugin&metric=sqale_index)](https://sonarcloud.io/dashboard?id=com.exasol%3Aquality-summarizer-maven-plugin)

[![Code Smells](https://sonarcloud.io/api/project_badges/measure?project=com.exasol%3Aquality-summarizer-maven-plugin&metric=code_smells)](https://sonarcloud.io/dashboard?id=com.exasol%3Aquality-summarizer-maven-plugin)
[![Coverage](https://sonarcloud.io/api/project_badges/measure?project=com.exasol%3Aquality-summarizer-maven-plugin&metric=coverage)](https://sonarcloud.io/dashboard?id=com.exasol%3Aquality-summarizer-maven-plugin)
[![Duplicated Lines (%)](https://sonarcloud.io/api/project_badges/measure?project=com.exasol%3Aquality-summarizer-maven-plugin&metric=duplicated_lines_density)](https://sonarcloud.io/dashboard?id=com.exasol%3Aquality-summarizer-maven-plugin)
[![Lines of Code](https://sonarcloud.io/api/project_badges/measure?project=com.exasol%3Aquality-summarizer-maven-plugin&metric=ncloc)](https://sonarcloud.io/dashboard?id=com.exasol%3Aquality-summarizer-maven-plugin)

This [Maven](https://maven.apache.org) plugin takes quality metrics produced by tools like [JaCoCo](https://www.jacoco.org/) and summarizes them in a single file during build.

The purpose of this file is to be picked up by a crawler from a CI build and is then written into a quality database. Note that the crawler and the database are both outside the scope of this Maven plugin.

## File Format

The target file format is described in a [JSON schema](https://schemas.exasol.com/project-metrics-0.2.0.json).

A typical file looks like this:

```json
{
"project" : "my-project",
"commit" : "a2464f0...",
"date" : "2024-12-31T19:30:00Z",
"coverage" : 0.92
}
```

## Usage

Add the following plugin to your `pom.xml`:

```xml

com.exasol
quality-summarizer-maven-plugin
CURRENT_VERSION


summarize-metrics

summarize


```

Using the default configuration, the plugin will search for the Jacoco report file in the following locations:
* `target/jacoco.xml`
* `target/site/jacoco.xml`
* `target/site/jacoco/jacoco.xml`
* `target/site/jacoco-aggregate/jacoco.xml`

You can configure a custom location like this:

```xml

com.exasol
quality-summarizer-maven-plugin
CURRENT_VERSION


summarize-metrics

summarize




target/site/custom-file.xml

```

## Information for Users

* [Changelog](doc/changes/changelog.md)

## Information for Developers

* [Dependencies](dependencies.md)