SonarQube Sonargraph Integration Plugin
Java Shell
Clone or download

README.md

Build Status Nemo Quality Gate status

Sonargraph Integration Plugin

Compatible with Sonargraph 8.7 and higher versions. Requires Java 8 runtime. Currently only supports Sonargraph systems containing Java modules.

Check the GitHub Wiki for information about compatibilities with SonarQube versions and Sonargraph versions.

Description / Features

This plugin for SonarQube can be used to check the conformance of your code base to a formal architecture definition created with Sonargraph version 8.7 and higher. A free license is available to allow you to check and measure the overall coupling and the level of cyclic dependencies at the package level. This license can be requested on the website of Sonargraph Explorer. Usually a high level of coupling and cyclic dependencies points to a high level of structural erosion. If structural erosion grows over a certain level this will have a negative impact on testability, maintainability and comprehensibility of your code.

A detailed description of the capabilities and configuration can be found here: http://eclipse.hello2morrow.com/doc/build/content/sonarqube_integration.html

Getting Started

  1. Download the latest SonarQube version.
  2. Download the latest Sonargraph plugin and copy it into <sonarqube-inst>/extensions/plugins (or use the Update Center, once it is available there).
  3. Start the SonarQube server.
  4. Use the built-in Sonargraph quality profile or add individual "Sonargraph Integration" rules to the profile you want to use. Assign your project to this profile.
  5. For the full functionality of Sonargraph, you need an "Architect" license. If you don't have one, just register on our hello2morrow web site and request a trial license.
    Alternatively, use a free Sonargraph Explorer license with reduced feature set (no architecture checks, no scripts execution, etc.)
  6. Configure your build to run SonargraphBuild prior to the SonarQube scanner.
    Check the online documentation of SonargraphBuild. There are specific chapters for the integration with Ant, Maven, Gradle and the command shell. Don't forget to configure the "prepareForSonarQube" flag!
    There are various build files and batch files available that demonstrate how the analysis can be executed.
    Example Maven command-line to create a report (check the online documentation for configuration details): mvn clean package sonargraph:create-report
  7. Execute the build and check in the console log that the Sonargraph Integration plugin has been executed.
  8. If you have difficulties setting up the integration, check first the online documentation (it's searchable!). If that does not provide any answer, feel free to send an email to the SonarQube Google group or directly to support at hello2morrow.com. It certainly helps us to help you, if you include the console log in the email.