Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
{iframe:src=http://update.sonarsource.org/plugins/switchoffviolations.html|width=700|height=250|frameborder=0} Your browser does not support iframes. {iframe}
Wiki Markup
Warning
titleDeprecated

The features provided by the Switch Off Violations plugin were added to SonarQube 4.0 and extended. Therefore, this plugin must not be used anymore with SonarQube 4.0+.

Description / Features

This plugin is used to exclude some violations issues in a fine-grained way. It allows to define some exclusion patterns to switch off violationsissues:

  • By rule
  • By file name/path
  • By line or range of lines
  • By file content

Installation

  1. Install the Switch Off Violations plugin through the Update Center or download it into the SONAR_HOME/extensions/plugins directory
  2. Restart the Sonar server

Include Page
Include - Plugin Installation
Include - Plugin Installation

Configuration

Exclusion patterns can be specified at both global and project levels. Go to Settings > Configuration > General Settings > Switch Off Violations (or at project level: Configuration > Settings > Switch Off Violations) and add values exclusion patterns to the following properties:

  • File exclusion patterns (sonar.switchoffviolations.allfile) to switch off all the violations issues on files that contains contain a block of code that matches a given regular expression.
    • Example: switch off all the violations issues on files containing @javax\.annotation\.Generated
  • Bloc exclusion patterns (sonar.switchoffviolations.block) to switch off issues on specific blocks of code. Note: if the first regular expression is found but not the second one, then the plugin considers that the end of the code block is the end of the file.
    • Example: exclude code blocks delimited by GEN-FIRST and GEN-LAST (like NetBeans auto-generated code):
      Image Added
  • Multi-criteria exclusion

...

  • patterns (sonar.switchoffviolations.multicriteria) to switch off

...

  • issues on specific resources, rules and ranges of lines.
    • Examples: 
      • Switch off all the

...

      • issues (Java projects: structure = packages) =

...

      • *;*;*
      • Switch off all the

...

      • issues (non-Java projects: structure = folders) =

...

      • **/*;*;*
      • Exclude all the

...

      • issues on the Java

...

      • file com.foo.Bar =

...

      • com.foo.Bar;*;*
      • Exclude all the

...

      • issues on the Java

...

      • package com.foo => com.foo.*;*;*
      • Exclude all the

...

      • issues of a specific rule =

...

      • *;checkstyle:com.puppycrawl.tools.checkstyle.checks.design.DesignForExtensionCheck;*
      • Exclude all the

...

      • issues of a specific rule on a specific file =

...

      • com.foo.Bar;checkstyle:com.puppycrawl.tools.checkstyle.checks.design.DesignForExtensionCheck;*
      • Exclude all the

...

      • issues on specific lines 10, 25 and 90 =

...

      • com.foo.Bar;*;[10,25,90]
      • Exclude all the

...

      • issues on a range of lines =

...

      • com.foo.Bar;*;[10-90]
      • Exclude all the

...

      • issues on several ranges of lines =

...

      • com.foo.Bar;*;[10-90,92,98,120-150]
         Image Modified
  • Bloc exclusion patterns (sonar.switchoffviolations.block) to switch off violations on specific blocks of code. Note: if the first regular expression is found but not the second one, then the plugin considers that the end of the code block is the end of the file.
    • Example: exclude code blocks delimited by GEN-FIRST and GEN-LAST (like NetBeans auto-generated code):
      Image Removed
Info
titleVersions prior to 1.3

Set the sonar.switchoffviolations.patterns property:

Code Block
titleExamples
languagenone
# Switch off all violationsissues (Java projects: structure = packages)
*;*;*

# Exclude a specific rule
*;checkstyle:com.puppycrawl.tools.checkstyle.checks.design.DesignForExtensionCheck;*

# Exclude on several ranges of lines
com.foo.Bar;*;[10-90,92,98,120-150]
 
# Exclude code blocks delimited by GEN-FIRST and GEN-LAST (like NetBeans auto-generated code)
GEN-FIRST;GEN-LAST
 
# Exclude files containing "@javax.annotation.Generated"
@javax\.annotation\.Generated

Usage

Run a Sonar an analysis on your project to take into account your configuration.

...