Skip to content

Adds support for R language into SonarQube. It uses output from lintr tool which is processed by the plugin and uploaded into SonarQube server.

License

Notifications You must be signed in to change notification settings

Merck/sonar-r-plugin

Repository files navigation

Sonar R Plugin

Build Status SonarCloud Status

Adds support for R language into SonarQube. Currently, it uses output from lintr tool which is processed by the plugin and uploaded into SonarQube server.

Sample Screenshot

Features

  • reporting issues found by LintR (by processing its output)

Planned Features

  • syntax highlighting
  • code coverage
  • code statistics (e.g. number of lines of code)

Extending SonarQube

Developing a plugin on SonarQube official documentation.

Run SonarQube Locally with the Plugin

Installed Java 11 is required to run SonarQube server.

# build plugin and put it into SonarQube instance
./mvnw clean package
# run SonarQube server
./sonar-local.sh console
# wait for message: SonarQube is up
# stop it by Ctrl-C

Repeat previous steps for any changes made in the plugin:

./mvnw clean package && ./sonar-local.sh console

Check logs in different terminal session:

tail -f -n 0 ./.sonar/sonarqube-*/logs/*

Web UI is running here (admin access defaults: admin/admin)

Sample Project

sample-project/README.md

Add SonarQube into a Project

Follow standard procedure to add SonarQube analysis to existing project: https://docs.sonarqube.org/display/SONAR/Analyzing+Source+Code

In case the local SonarQube instance should be used, just update SonarQube server URL to http://localhost:9000.

For example in sonar-project.properties:

sonar.host.url=http://localhost:9000

Release Process

Script for the release steps:

./release.sh

Travis CI build does the release process in Github.

What it does:

  • derive release version from current SNAPSHOT in POM
  • create new release branch
    • commit release version into POM
    • create tag
    • push
  • generate new development version by increasing last number
  • checkout master
    • commit new development version
    • push

About

Adds support for R language into SonarQube. It uses output from lintr tool which is processed by the plugin and uploaded into SonarQube server.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published