The language plugins developed by SonarSource share 6 rules through the library sonar-sslr-squid-bridge (former "common-rules").
- insufficient branch coverage on file
- insufficient line coverage on file
- insufficient density of comment lines on file
- at least one duplicated block on a file
- at least one skipped unit test on the project
- at least one unit test error on the project
- plugins can select which rules make sense. For instance the rules on coverage do not need to be created on Cobol.
- library is embedded by plugins -> dedicated development sprints, version mastered by plugin
- BLOCKER - technically implemented as a Decorator checking measures (branch_coverage, comment_line_density, ...). Concepts of Decorator and batch measures are dropped from 5.2 as data aggregation is done on server by Compute Engine.
- complex code to be maintained (based on ExtensionProvider)
Assuming that these rules are not required in preview mode (IDE + Pull Request analysis), then they must be automatically defined and computed by the server and its Compute Engine. The only "annoying" limitations are accepted :
- the 4 rules on coverage and tests are always created, whatever the language. Just don't enable them in the Quality profiles of Cobol for instance
- the related issues are not available in IDE. That's ok for coverage and tests as it's a native IDE feature.