On 12 Sep 2014 at 19:02:38, Sergiu Dumitriu ([email protected](mailto:[email protected])) 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. You need to have sonar.xwiki.org up. AFAIU you execute mvn sonar:sonar and if you have installed this sonar plugin it’ll fail the build: http://docs.codehaus.org/display/SONAR/Build+Breaker+Plugin > 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. Yes I agree. > 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. I think the problem is that sonar:sonar will run a ton of other things so we need to verify if we can find a way to have several execution paths: - one path for developers when they want to quickly check locally if their code that they want to push have any violations. Note to self: verify if this can work on uncommitted code. - another path for the CI, that executes less often to generate the full sonar.xwiki.org dashboard with TPC computations and more TBH I don’t know how well this will work out at this point. We need to try it out for real and see how it works. Now we could imagine: - having simple fast rules in our build that execute locally - having more complex rules (like TPC% less than previous values) that run on CI only Thanks -Vincent _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

