In Sonar, how to prevent checking some rules in some packages?
We have an A开发者_高级运维ndroid/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?
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).
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
This is all also explained very nicely in the linked documentation.
精彩评论