Can't get buildr to run checkstyle

45 views Asked by At

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?

1

There are 1 answers

0
Peter Donald On

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

require 'buildr/checkstyle'

define "foo" do
  project.version = "1.0.0"

  checkstyle.config_directory = _('etc/checkstyle')
end

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.