Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 84 Next »

Table of Contents

Overview

The Quality Profiles service is the heart of Sonar as it is where you define your requirements on:

  • Files by defining sets of coding rules to check (ex: A method must not have a complexity greater thant 10)
  • Projects by defining sets of measures thresholds (alerts) to comply with (ex: the number of new critical violations must not be greater than 0)

You can define as many quality profiles as you want. Indeed, the requirements are usually not the same while developing an application from scratch or maintaining an application which is 10 years old, while developing a technical framework or a web application. Then you can associate several quality profiles (one per language) to each project.

To manage quality profiles, go to Quality Profiles (top bar):

Security

The Quality Profiles service can be accessed by any users (even anonymous users) but any changes (create, edit or delete) require to be logged in as a System administrator or a Quality Profile administrator.

A project administrator can only change the quality profiles associated to its project(s). See Project Administration#SettingQualityProfiles.

Creating Profile

To create a quality profile, click on the Create button on the upper right and enter the name of the quality profile:

You can optionally provide some Checkstyle, PMD and Findbugs configuration files to fill the new quality profile with some existing rules configurations.

Copying Profile

In order to copy an existing quality profile, click on the Copy button next to the profile you want to copy. You are prompted to give the name of the new profile. The profile is the exact copy of the copied one. You can then make desired changes to the new quality profile.

Renaming Profile

Click on the Rename button. You are prompted to give the new name of the profile.

Deleting Profile

Click on the Delete button. You are prompted to confirm the deletion.
Deleting a quality profile will delete the alerts defined in the profile and will remove the association with projects. If nothing else is done, Sonar will use the default profile to perform the next analysis on the (ex-)associated projects.

Editing Profile

Configuring Rules

Go to the Coding rules tab. As there are numerous available coding rules, a search engine is available:

A coding rule can be activated or deactivated. Its severity and parameters can be modified:

Some bulk change actions are available to quickly activate or deactivate a set of rules:

Icon

No extra validation action is required to make changes to the quality profile.

Multiple Activations of a Rule

Some coding rules can be activated multiple times in the same quality profile with different parameters values. XPath rule is one of this kind.

If a rule can be activated multiple times, a Copy button is available:


Clicking on the Copy rule link displays a form to define the new rule:

Once the new rule has been created, it can be managed as any other rules.

Editing Alerts

To manage alerts configuration, use the Alerts tab: 



From there it is possible to fully manage alerts, by adding new ones, editing or deleting existing ones. Choose:

  • the metric you are interested in
  • whether the alert will be checked against the current value of the measure or the variation of this measure (available since Sonar 3.4)
  • an operator (is greater than, is less than, etc.)
  • the value that will trigger a warning
  • the value that will trigger an error

Any changes will apply to the next analysis.

Profile Inheritance

Maintaining Quality Profiles can be tedious over time, especially where there are many. To ease maintenance of profiles, Sonar provides the ability of inheriting from a profile. The principle is that for a custom profile, you can decide that it is going to have a parent profile by using the Profile Inheritance tab:

This means that the quality profile inherits all rules defined in the parent. This is shown visually in the rules configuration screen by a small blue marker next to the rule:

A rule inherited from a parent cannot be de-activated but it is possible to change its parameter(s) and / or its severity. As soon as one of those is changed, a red marker replaces the blue marker:


Changes made to an inherited rule can be reverted by using the button Revert to parent definition:

Icon

Alerts are not inherited from parent profiles.

Extending Rules Description

Each rule comes with a description in Sonar, but it sometimes needs to be extended: insufficient description, internal description, note on activation of a rule in a profile... This is why Sonar enables to extend rules description in two ways:

First the ability to extend the description of a rule to give more details for example. This is going to be attached to the rule in every profile and will also be available when clicking on a violation:

But we have also added the ability to comment a rule in the context of a specific quality profile, to comment for example why it has been assigned a high priority or a special threshold:


Associating Project to Quality Profile

To associate/dissociate projects to/from a quality profile, go to the Projects tab:



When a project is not explicitly associated to a quality profile, Sonar uses the default quality profile to perform the next analysis.

Backuping/Restoring Profile

This backup/restore mechanism is useful for instance to promote a quality profile from a test environment to a production environment or to share quality profiles with contractors.

Click on the Backup button to export an XML file.

To restore a quality profile, click on the Restore profile link on the upper right of the Quality profiles page, choose the XML file to restore and click on the Restore profile button:

Comparing Profiles

It is possible to compare 2 quality profiles to understand the differences between them:

The comparison service shows all differences (rules in one profile but not in the other, parameters differences) and also identical ones:

Profile Change Log

Every time a change is made to a quality profile, it is going to appear in the change log:

Extending Coding Rules

Custom coding rules can be added. See Extending Coding Rules for detailed information and tutorials.

  • No labels