Full documentation for SonarQube has moved to a new location: http://docs.sonarqube.org/display/SONAR

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 26 Next »

Description / Features

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

  • By rule
  • By file name/path
  • By line or range of lines
  • By file content (since version 1.2)

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

Configuration

Exclusion patterns can be specified at both global and project levels. Go to Configuration > General Settings > Switch Off Violations (or at project level: Configuration > Settings > Switch Off Violations) and set the 'sonar.switchoffviolations.patterns' property:

  • A line can have the following formats:
    • A semi-colon separated string defining 3 parts: resource key pattern, rule key pattern and range of lines.
    • A semi-colon separated string defining 2 parts: a first regular expression and a second one, which will be used to determine blocks of code for which violations must be ignored
      • 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.
    • A single string defining a regular expression which will be used to determine files that should be ignored if they match this regular expression
  • Comments start with #
  • Blank lines are allowed

Example:

# Switch off all violations (Java projects: structure = packages)
*;*;*

# Switch off all violations (non-Java projects: structure = folders)
**/*;*;*

# Exclude the Java file com.foo.Bar
com.foo.Bar;*;*

# Exclude a Java package
com.foo.*;*;*

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

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

# Exclude on specific lines 10, 25 and 90
com.foo.Bar;*;[10,25,90]

# Exclude on a range of lines
com.foo.Bar;*;[10-90]

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

Usage

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

Change Log

Loading

Release 1.2 (3 issues)

 

Loading

Release 1.1 (1 issues)

  • No labels