Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

You can also work the other way around with inclusions by setting the Module Inclusions property to a list of only those modules you want analyzed. Be careful: the root project must be added to the list.

Known limitation in .NET: this property does not currently work while the "sonar.dotnet.key.generation.strategy" is set to "safe". See SONARDOTNT-10.

File Suffixes

Most language plugins offer a way to restrict the scope of analysis to files matching a set of extensions. Go to Settings > General Settings > LanguagePlugin and set the File suffixes property:

...

Since version 3.5, you can also work the other way around by setting inclusions. Go to Settings > General Settings > Exclusions > Files and set the sonar.inclusions and sonar.test.inclusions properties to the list of files that should be analyzed. If you set an inclusion, then only the files or modules listed there will be included in the analysis.

See the Patterns section for more details on the syntax.

...

To do so, go to Settings > General Settings > Exclusions > Duplications and set the Duplication Exclusions property. See the Patterns section for more details on the syntax.

...

You can prevent some files from being taken into account for code coverage by unit tests and integration tests.

To do so, go to Settings > General Settings > Exclusions > Code Coverage and set the Coverage Exclusions property. See the Patterns section for more details on the syntax.

Anchor
patterns
patterns

Patterns

Paths can be defined either as either relative or absolute. Use relative paths whenever possible.are relative to the project base directory.

The following wildcards can be used in either kind of path:

WildcardMatches
*zero or more characters
**zero or more directories
?a single character

Relative

...

Relative paths are based on the fully qualified name of the component (like the ones one displayed in the red frames frame below):

Image Removed

Image Added

 

Note
titleFor versions prior to 4.2
Note that for Java

...

only

...

, the fully qualified name is not exactly the one that is displayed. You have to replace the "." package separator with "/" and add the ".java" extension.

...

.

Code Block
titleExamples
languagebash
# Exclude all classes ending by "Bean"
# Matches org./sonar.api./MyBean.java, org./sonar./util./MyOtherBean.java, org./sonar./util./MyDTO.java, etc.
sonar.exclusions=**/*Bean.java,**/*DTO.java

# Exclude all classes in the "org.src/main/java/org/sonar" packagedirectory
# Matches org.sonar.src/main/java/org/sonar/MyClass.java, org.sonar.src/main/java/org/sonar/MyOtherClass.java
# But does not match org.sonar.util.src/main/java/org/sonar/util/MyClassUtil.java
sonar.exclusions=src/main/java/org/sonar/*

# Exclude all COBOL programs in the "bank" directory and its sub-directories
# Matches bank/ZTR00021.cbl, bank/data/CBR00354.cbl, bank/data/REM012345.cob
sonar.exclusions=bank/**/*
 
# Exclude all COBOL programs in the "bank" directory and its sub-directories whose extension is .cbl
# Matches bank/ZTR00021.cbl, bank/data/CBR00354.cbl
sonar.exclusions=bank/**/*.cbl

Absolute Path

To define an absolute path, start the pattern with "file:"

Code Block
titleExamples
languagebash
# Exclude all the *.cs files included in /path_to_my_project/myProject/src/generated and its subdirectories
sonar.exclusions=file:/path_to_my_project/myProject/src/generated/**/*.cs
 
# Exclude all the java classes contained in a src/generated/java directory and its subdirectories
sonar.exclusions=file:**/src/generated/java/**/*.java