Skip to content

SonarLint

James Palmer edited this page Apr 1, 2021 · 3 revisions

Starting with version 1.9.8, the OpenEdge plugin can be executed with the command line version of SonarLint. According to the web page:

SonarLint for Command Line provides pre-commit feedback to developers on new bugs and quality issues injected into code

Download

In its current state, the public version of SonarLint only allows a few plugins, and blacklists all the other plugins. In order to be able to execute the OE plugin, please download a modified version here. Please don't report issues to the public mailing lists of SonarLint, as this is not (yet) a supported configuration.

Installation

Unzip the modified version of sonarlint-cli, then copy in the plugins directory the JAR files of the OpenEdge plugin, any OpenEdge rules plugin, and your licences. Add the bin directory in your PATH.

Execution

Please refer to the SonarLint webpage, but a few things you need to know:

  • It's not possible to read properties from a .properties file on disk; so properties have to be passed on the command line using -Dsonar.oe.propath=src,src2,src3 -Dsonar.oe.dlc=$DLC -Dsonar.oe...
  • Use the --src parameter from your pre-commit hook to limit the scope of the analysis
  • You can't choose the rules that will be executed in non-connected mode, it's hardcoded in the product (and will stay this way forever)

Future

Work on SonarLint for Eclipse will start mid-March, in order to make it work with Progress Developer Studio. Riverside Software doesn't commit to any release (if it's ever released), as the fact that PDS is using old versions of Eclipse, and that the product is closed-source, make this really challenging.