SonarQube License-Check

Build Status Maintainability

This SonarQube plugin ensures that projects in an organization adhere to a set of standard libraries and versions. This enables the governance of the used libraries and licences.

License

This software is licensed under the Apache Software License, Version 2.0

Compatibility

This plugin is compatible:

Installation

Put the pre-built jar-file (from release downloads) in the directory $SONARQUBE_HOME/extensions/plugins and restart the server to install the plugin. Activate the rules of this plugin ("License is not allowed", "Dependency has unknown license") in your SonarQube quality profiles - otherwise the plugin is not executed.

Execution

When a project is analyzed using the mvn sonar:sonar in command line the extension is started automatically.

Please make sure to have all dependencies installed before launching the SonarQube analysis. So your complete build should look something like this:

mvn -B org.jacoco:jacoco-maven-plugin:prepare-agent -Dmaven.test.failure.ignore install
mvn -B sonar:sonar

Configuration

After booting the SonarQube Server with the License-Check Plugin two new options can be found in the tab Administration.

License
configuration

Features

Analysis

The plugin scans for dependencies defined in your project including all transitive dependencies.

Currently supported formats are:

Project Dashboard

The plugin contains a project dashboard showing a list of dependencies with version and a list of all used licences. Each table shows the status of the license (allowed, not allowed, not found). You can also export the data to Excel.

Example for "Dependencies" table:

NameVersionLicenseStatus
org.springframework.boot:spring-boot1.4.0.RELEASEApache-2.0Allowed
core-js2.4.0MITAllowed
dk.brics.automaton:automaton1.11-8BSD-3-ClauseNot Allowed
saxon:saxon9.1.0.8jUnknown

Example for "Licenses" table:

IdentifierNameAllowed
Apache-2.0Apache License 2.0true
MITMIT Licensetrue
BSD-3-ClauseBSD 3-clause New or Revised Licensefalse