This post has already been read 3096 times!

Introduction

PL/SQL Cop for SonarQube is a plugin for SonarQube. The plugin analyses SQL and PL/SQL code and calculates various metrics and checks the code for compliance of the Trivadis PL/SQL &  SQL Coding Guidelines Version 2.0. Behind the scenes the plugin calls the PL/SQL Cop command line utility for the static code analysis.

A static code analysis is typically initiated as part of an continuous integration setup, e.g. at the end of a Jenkins or Hudson build job. SonarQube stores the result of the analysis in a relational database. Supported are HSQLDB, PostgreSQL, MySQL, Microsoft SQL Server and Oracle Database, of course.

Since every analysis is stored as a snapshot in the SonarQube repository the improvement or the decrease of the code quality may be monitored very well. Use SonarQube and the PL/SQL Cop plugin if you care about your PL/SQL code quality.

Example

Setup a build job with a standalone SonarQube analysis at the end of the job. Here’s an example within a Jenkins build job:

jenkins_build_job

Important are the analysis properties. The mandatory ones are sonar.projectKey, sonar.projectName, sonar.projectVersion and sonar.sources. You may defined them as shown above or within a sonar.properties file in the source folder. See the SonarQube documentation for more information.

The build job is typically started after a change in the software configuration system such as GIT, SVN or CVS or other relevant events. You may even trigger the build manually. The log of such a build job looks as follows:

jenkins-job-console

jenkins-job-console2

At the bottom of a build log you find a link to the SonarQube project dashboard. Click on it and the following project dashboard is shown:

sonar-dashboard

You see that 6 critical issues have been found in the guideline project. Click on “6” to drill down to the critical issues.

sonar-major-issues

Click on the arrow on the right side of an issue to drill down to the source code.

sonar-code-detail

Click on the three dots after the issue text to get more information about the violated guideline.

sonar-rule-popup

There are a lot more analysis available in SonarQube. Get your copy of PL/SQL Cop and PL/SQL Cop for SonarQube now.

Installation

Copy the downloaded sonar-plsql-cop-plugin-1.0.2.jar file into the extensions/plugins folder of your SonarQube installation and restart the SonarQube server. Login as admin, click on “Settings” in the main menu bar and configure the “Trivadis :: PL/SQL Cop” section as shown below

sonar-settings

Press “Save Trivadis :: PL/SQL Cop Settings” to the configuration.

It’s important to note, that this version of PL/SQL Cop for SonarQube works from version 4.5.0 up to version 5.1.2. Newer versions are not yet supported due to changes in various plugin interfaces.

PL/SQL Cop for SonarQube

 

Leave a Reply

Post Navigation