Analyzing projects before creating pull requests, round 2 —13 November 2016
After playing for a few days with the pre-push hook to analyze changed files in a branch, I found it pretty useful. Despite its obvious shortcomings, most notably the slowness of running one analysis for each file.
So I decided to take it a bit further:
sonarlint-clitemporarily to make it accept multiple
--testsoptions. With this change, now it’s possible to analyze all the files of the changeset in a single analysis, so the hook can run much faster.
Now it’s possible to analyze test sources.
Added helper scripts to make it easier to install the custom built
sonarlintand the hooks.
pre-commithook, which works very similarly to the
pre-pushhook, but it looks at the changeset in what is about to be committed, instead of a branch.
As before, see more details in the README.
Something that might be a big remaining weakness is these assumptions:
- Source files must match the pattern
- Test files must match the pattern
These assumptions should be just fine for most Java projects, but I’m not sure about others. It would be great to have something that works for a wider audience, but I won’t know what exactly needs to be done until I get some feedback. That’s your job ;-)
Let me know what you think. If you have difficulties or find something strange, feel free to create an issue on GitHub.