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

kmoco2am/sonar-r-plugin

 
 

Repository files navigation

Sonar R Plugin

Main branch publish Bugs

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 17 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.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages

  • Java 71.4%
  • Shell 20.0%
  • R 8.6%