Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Configure Sonar sonar.issue.ignore.multicriteria through maven

I'm using a local instance of Sonar without a centralized infrastructure. In order to keep the configuration of my project in the pom.xml, I want to configure the project through maven and not through the Sonar UI. For me this has the advantage of keeping things in one place and other developers don't have to configure their local Sonar instance, just unpack and play.

The doc on howto configure the sonar.exclusions property through maven is readily available but the format for sonar.issue.ignore.multicriteria is unclear.

How can you configure sonar.issue.ignore.multicriteria through maven?

like image 203
revau.lt Avatar asked Feb 17 '14 09:02

revau.lt


1 Answers

After stepping through the code the format is:

<properties>
        <sonar.issue.ignore.multicriteria>e1,e2</sonar.issue.ignore.multicriteria>
        <sonar.issue.ignore.multicriteria.e1.ruleKey>squid:S00100</sonar.issue.ignore.multicriteria.e1.ruleKey>
        <sonar.issue.ignore.multicriteria.e1.resourceKey>**/*Steps.java</sonar.issue.ignore.multicriteria.e1.resourceKey>
        <sonar.issue.ignore.multicriteria.e2.ruleKey>squid:S1118</sonar.issue.ignore.multicriteria.e2.ruleKey>
        <sonar.issue.ignore.multicriteria.e2.resourceKey>**/PropertyPlaceholderConfig.java</sonar.issue.ignore.multicriteria.e2.resourceKey>
</properties>

The keys e1,e2 can be chosen arbitrarily as long as they are used with .ruleKey and .resourceKey in the depending properties.

The same works for sonar.issue.ignore.block:

 <sonar.issue.ignore.block>e1</sonar.issue.ignore.block>
 <sonar.issue.ignore.block.e1.beginBlockRegexp>@SonarIgnore</sonar.issue.ignore.block.e1.beginBlockRegexp>
 <sonar.issue.ignore.block.e1.endBlockRegexp></sonar.issue.ignore.block.e1.endBlockRegexp>
like image 199
revau.lt Avatar answered Oct 21 '22 08:10

revau.lt