Uploaded image for project: 'SonarQube'
  1. SonarQube
  2. SONAR-6703

Share the measure-based rules applicable to (almost) all languages

    XMLWordPrintable

    Details

    • Type: Improvement
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 5.2
    • Component/s: Compute Engine, Rules
    • Labels:
      None

      Description

      The language plugins developed by SonarSource share 6 rules through the library sonar-sslr-squid-bridge (former "common-rules").

      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

      Advantages

      • 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

      Disadvantages

      • 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.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              simon.brandhof Simon Brandhof (Inactive)
              Reporter:
              simon.brandhof Simon Brandhof (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Due:
                Created:
                Updated:
                Resolved: