On 09/12/2014 01:01 PM, Sergiu Dumitriu wrote:
On 09/12/2014 12:52 PM, [email protected] wrote:
On 12 Sep 2014 at 18:46:33, Sergiu Dumitriu ([email protected](mailto:[email protected])) wrote:
A tool still being maintained and released isn't dead. The fact that there's healthy competition is good, not bad, for a project. And we're not bound to using the most complex tool available, we should use the one which works best for us, where "best" should be agreed on by the community.
There should be a separate vote about switching from Checkstyle to Sonar. If you send such a vote, we can put this on hold until we decide one way or the other.
It's kind of backwards to agree on the rules before agreeing on the tool first.
The decisions are separate: we’re already using Sonar and we’ve never really taken the time to define the rules we wish applied there on http://sonar.xwiki.org
So there are several related but orthogonal decisions: 1) Define the sonar rules for the web site 2) Decide if we wish to automatically fail the build when a sonar rule fails. Basically this means deciding to use sonar as THE one tool for rule checking. An alternative would be to use the Maven Findbugs plugin, Maven PMD plugin, etc. But it would be a lot less powerful than Sonar. For example in Sonar you can combine the rules and say things like “fail the build if such rule and such rule fail or if the TPC is below that value or …”.
Now since Sonar also contains the checkstyle rule in the end we will need to decide which checkstyle rules we wish to use too, so this work has to be done anyway. It’s just not the only one since there are more rules (and a lot more interesting than the checkstyle ones, in other tools).
Two question I have about Sonar:
1. Can it fail the build when I run mvn install locally? I don't want to have to wait hours to find out if I have all the spaces in order.
If it's only an online asynchronous tool, we'll get in the same situation as with our CI failures, we'll pay attention to failures for a few weeks, then most devs will give up and check the build status only when pinged or when it's a BuildFixingDay.
2. Does it run faster or slower than the Checkstyle plugin? If slower, by how much? The build already takes too much time for devs to have the patients to build more than one submodule before committing, we don't want devs to skip running checks locally completely.
It's funny that the Sonar Maven Plugin uses Checkstyle... And has known violations in the latest release... http://mojo.codehaus.org/sonar-maven-plugin/checkstyle.html -- Sergiu Dumitriu http://purl.org/net/sergiu