Linting engine using Facebook's Arcanist.
Review Request #200 - Created March 4, 2012 and submitted
Arcanist is mainly a command line tool for code review and revision management. We will only use it for linting our source code _for now_. The linter is pure awesome and it will check everything from naming conventions, line width, uninitialized variables to file names and spelling. Typing 'make lint' will download a copy of arcanist and libphutil from github on the first run. It will then run the linter on any files that you have touched during your commit, while mostly only looking on the lines you've changed. 'make lint-all' will be a bit more thorough and look at the entire files. 'make lint-repo' will run the linter on the entire codebase, which will make you quietly weep. From this point, either 'make lint' or 'make lint-all' (preferred) will have to be run before any change posted for review.
Still haven't tested on my clone(can't boot into linux right now). The code looks flawless overall.
Are you sure this is stable? Last I knew the open-source version of arcanist was not at all stable. It would be great if we had this and it if was stable, but I think we should do some comprehensive tests on it.
Review request changed
Disabled 80 character limit for views, removed forgotten print and completed comments.
Revision 2 (+269 -1)
Tested all commands. They work as expected(actually better "Possible spelling error. You wrote 'usefull', but did you mean 'useful'") It would be better if the Makefile would create 3 scripts instead or running them. This way you could deliver the lint-repo message through "less" (lint-repo | less). It's quite buggy right now if you try "make lint-repo | less"