Fixpoint
Fixpoint

Reputation: 9850

In Sonar, how to prevent checking some rules in some packages?

We have an Android/Blackberry project with a common part. That part, obviously, is written to compile to both Android and Blackberry targets, and, consequently, cannot use some of the newer Java features (e.g., Integer.valueOf). I'd like to skip some of the rules specifically for that part. Is there a way to do this?

Upvotes: 19

Views: 41914

Answers (2)

FrVaBe
FrVaBe

Reputation: 49341

If you separate the common part to an own project you can add a new Quality Profile in Sonar (where you deactivated these rules) and assign it to your common project.

Apart from that you can use the

// NOSONAR

comment to supress a warning on a single line (see FAQ).

Upvotes: 24

Martin
Martin

Reputation: 21620

This is an older question and I think meanwhile there is a better solution:

Adding // NOSONAR to the relevant classes solves the issue somehow. But I think this is problematic since no rules will be applied in this case at all. There is another way to solve this though: Ignore Issues on Multiple Criteria

Example:

I want to ignore all issues against coding rule MagicNumbers in the package com.foobar.domain in all my java files.

In Sonar navigate to your project, go to Configuration\Settings\Issues and in Ignore Issues on Multiple Criteria add:

  • Rule Key Pattern: com.puppycrawl.tools.checkstyle.checks.coding.MagicNumberCheck
  • File Path Pattern: com/foobar/domain/*.java

Sonar ignore issues

This is all also explained very nicely in the linked documentation.

Upvotes: 15

Related Questions