I've been trying to get buildr to run checkstyle.
I've added the requirement as
require 'buildr/checkstyle'
But when I run
buildr checkstyle:html
I get this (with trace)
/var/lib/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/task_manager.rb:49:in `[]'
/var/lib/gems/1.9.1/gems/rake-0.9.2.2/lib/rake/application.rb:115:in `invoke_task'
/var/lib/gems/1.9.1/gems/buildr-1.4.16/lib/buildr/core/application.rb:238:in `block (2 levels) in top_level'
/var/lib/gems/1.9.1/gems/buildr-1.4.16/lib/buildr/core/application.rb:238:in `each'
/var/lib/gems/1.9.1/gems/buildr-1.4.16/lib/buildr/core/application.rb:238:in `block in top_level'
/var/lib/gems/1.9.1/gems/buildr-1.4.16/lib/buildr/core/application.rb:535:in `standard_exception_handling'
/var/lib/gems/1.9.1/gems/buildr-1.4.16/lib/buildr/core/application.rb:230:in `top_level'
/var/lib/gems/1.9.1/gems/buildr-1.4.16/lib/buildr/core/application.rb:131:in `block in run'
/var/lib/gems/1.9.1/gems/buildr-1.4.16/lib/buildr/core/application.rb:535:in `standard_exception_handling'
/var/lib/gems/1.9.1/gems/buildr-1.4.16/lib/buildr/core/application.rb:128:in `run'
/var/lib/gems/1.9.1/gems/buildr-1.4.16/bin/buildr:20:in `<top (required)>'
/usr/local/bin/buildr:23:in `load'
/usr/local/bin/buildr:23:in `<main>'
Any idea what I have missed?
A few things to note. The checkstyle targets are added to the project in which they are defined. So if you create a project like
Then you will need to invoke the buildr task "buildr foo:checkstyle:html". It should be noted that it is not enough to simply add the require to the buildfile, you also need to supply a configuration file listing the checks. By default this located in the configuration directory with a name of "checks.xml" so for the above example you would need to place the checkstyle configuration file at "etc/checkstyle/checks.xml".
Versions of buildr prior to 1.4.17 also require that you specify an xsl stylesheet if you want to generate a html report. This defaults to the name "checkstyle-report.xsl" in the configuration directory but from buildr versions 1.4.17 onwards, buildr supplies it's own version of the xsl.