A free and open-source SonarQube plugin for static code analysis of Scala projects

Out-of-the-box Scalastyle integration

sonar-scala provides 65 built-in Scalastyle inspections, which are automatically checked on SonarQube analysis - no extra setup required.

[object Object]

Support for Scapegoat

sonar-scala provides a seamless integration with Scapegoat. Generate a Scapegoat report and sonar-scala will process it and create issues in SonarQube based on your quality profile. There are 118 Scapegoat inspections that are supported by sonar-scala.

[object Object]

Built-in quality profiles for Scala

sonar-scala provides two rules repositories and four built-in quality profiles - one for Scalastyle, one for Scapegoat as well as a combination of those two: Scalastyle+Scapegoat and the Recommended by sonar-scala profile, which is a subset of those that we recommend for the best results.

[object Object]

Coverage and unit test metrics

sonar-scala integrates with Scoverage and reports coverage results back to SonarQube. It also reads JUnit-style reports produced by testing frameworks like ScalaTest or Specs2 and turns those into test metrics in SonarQube.

[object Object]

Minimal setup effort

Thanks to provided Docker images of SonarQube with bundled sonar-scala and a dedicated sbt plugin, sbt-sonar, you can be up and running and try out sonar-scala in a matter of minutes.

docker run -p 80:9000 -d \
sbt \
clean coverage test coverageReport scapegoat sonarScan

GitHub pull request decoration New!

sonar-scala can be run in a "decoration mode", which can analyse your pull requests on GitHub and any new issues introduced in the code base will be posted as inline comments directly on the pull request.

[object Object]
[object Object]