Add Ant tasks for measuring coverage, dependencies, etc.
I'd like to use SonarQube to improve Onionoo's code quality. In the long term, I want Tor to run a SonarQube server (which could mean that I run it myself) and make it available to all projects in the Tor ecosystem, ideally integrated into our continuous integration workflow. But let's start small and try out SonarQube for a single project, which would be Onionoo.
I think step 1 is to install the SonarQube server and SonarQube Runner into the Vagrant machine. (The server would later be installed on a separate host, but for the purpose of this evaluation it should be fine to install it on the Vagrant box.) Maybe this installation shouldn't happen automatically using Vagrant's bootstrap script, but be described in a short howto document for those who want to try it. This howto could designate the end of step 1.
Step 2 would be to look through the issues found by SonarQube (of which there are plenty) and either start fixing them or tweak the rules to better match our requirements. This step may also include searching for other plugins that might be useful. At the end of this step we should have a better idea of whether we want to deploy a SonarQube machine for other Tor projects. The result could be a SonarQube configuration that works fine for Onionoo and that comes with documentation why it differs from the default configuration.
But before I hide in my cave for too long: any general thoughts on this idea? Cc'ing iwakeh who I think might have an opinion about this.