kmoco2am / sonar-r-plugin

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

License:Apache License 2.0


Languages

Language:Java 71.3%Language:Shell 20.0%Language:R 8.6%