Kwala is a build tool that contains a number of actions to check the "quality" of your ruby source code. Some of the included actions are checks for code duplication, cyclomatic complexity, lines of code, unit tests, various formatting checks, and require cycles. In addition, kwala is designed to allow users to add and create new actions to check against the code. It generates both a summary page and detail pages for the various actions.
Kwala is under the BSD license
The following are a few simple examples of Kwala output when run on various Ruby projects.
Kwala is a command line tool that allows you to specify which actions to run on your project. Because Kwala is a command line tool it is easy to setup as cron job to perform periodic checks against your code base.
An example for hourly builds:
kwala -p MyProject -d projects/MyProject -o builds -a syntax_check -a formatting -a unit_test -a cyclomatic -a cycles
For more details on how to use it, please see the usage notes by running
As root run:
# ruby setup.rb all
Kwala uses Amrita 1 to generate the HTML results pages. You can get it from here: http://amrita.sourceforge.jp/
At the moment Amrita 1 is not available as a RubyGem.
Some actions use external tools to perform the actual check or present the results. If an action cannot find its required tools, that action will simply not generate any output. For your convenience, we already bundled a few jar files (see in the ext directory) that some actions use. Here is a complete list of the projects from which those tools originate:
- Zev Blut
- Pierre Baumard
- Michael Reinsch
- Elbert Corpuz for CSS and HTML page layout
Finally, thanks to Ubit for allowing this software to go open source.