Hi, I'm working on project : Provide ability to integrate code review tools for App Factory.[1] Normally in App Factory, a developer can clone an App's source code from gitblit and push necessary changes back to the main repo. Use case of code review tool comes after that. Other developers in the same Tenant should be able to go through pushed commits and provide reviews. This is called as post commit reviewing.
I looked at currently available code review tools that can be used in this approach. Gerrit [2] A widely used code review tool. It keeps its own repository.If we want to get review for a code commit we need to push those commits to Gerrit. Then Gerrit can keep hold those commits without merging them to main repo until it is reviewed. Simply Gerrit works like pull request mechanism in GitHub. So this is pre-commit reviewing which is not compatible with our requirements. Gerrit has been built wrapping a JGit server. It handles reviewing task only for projects in its repository. In our case App Factory repositories stay in external Gitblit server and we need to connect Gerrit as a reviewing tool which is architecturally impossible because Gerrit can't import projects in external repositories. (Correct me if I'm wrong) Crucible [3] Great tool that has exact features we need. Good API to communicate. But it's not for free. It's an Atlassian product. Phabricator [4] Code reviewing tool + more functionalities developed by Facebook for their reviewing stuff. Apache 2.0 licence. This is compatible for our requirements but user interfaces are bit complex. So users may find some difficulties in catching up the functionalities. It has an api called "Conduit api"[5] which I have never heard before :) However according to the documentation, API is still growing so some functionalities we need, may not be included. Barkeep [6] A good lightweight reviewing tool. Simple and effective interfaces. There is a REST API which covers most of the functionalities we need. It has MIT Licence [7] so need to check compatibility with WSO2 licensing process. If licence is compatible, I think this is the most suitable one we can use. Considering above four tools I believe Barkeep (if licensing is ok) and Phabricator are suitable candidates for the task. [1] https://redmine.wso2.com/issues/1019 [2] https://code.google.com/p/gerrit/ [3] https://www.atlassian.com/software/crucible/download [4] http://phabricator.org/ [5]https://secure.phabricator.com/book/phabdev/article/conduit/ [6] http://getbarkeep.org/ [7] http://opensource.org/licenses/mit-license.php Thanks Dimuthu u -- Dimuthu Upeksha Engineering Intern WSO2 inc.
_______________________________________________ Dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/dev
