At Long Last, SonarQube Is a True Polyglot

by g. ann campbell|

    Good taste prevents me from embedding a trumpet fanfare into this post, but it does seem warranted. After all, with the release of SonarQube version 4.2 last week, SonarSource has finally implemented the all-time highest voted ticket in the SonarQube backlog: multi-language analysis.

    Now, at last, you'll be able to see the Java or C# in your web project side by side with its JavaScript and HTML. Finally, without the Views plugin, you can see aggregate measures across the multiple technologies in a single project for a unified quality assessment. Cue the angel choir.

    Okay, now for a tiny dose of reality. The ability to participate in a multi-langauge analysis must be implemented in each language plugin separately, so it may be a while before your project is fully inspected with just one analysis. But very soon you'll be able to remove the sonar.language property, and SonarQube will automatically analyze every file with an extension it recognizes.

    Actually, if even one of the languages in your project already supports multi-language analysis, you can go ahead and drop the sonar.languages property and SonarQube will do its multi-language thing as much as it can. Multi-language analysis has already been released in Android, Flex, Groovy, Java, JavaScript, PHP, PL/SQL, and RPG. It's scheduled for ABAP, C/C++, C#, COBOL, PL/I, Python, VB6, and VB.NET.

    Of course, if you don't want to turn on multi-language analysis yet, then all you have to do is retain the sonar.languages property, and you'll get the legacy behavior: analysis only of the single language you specified.