2014-06-05 32 views
0

我一直试图让buildr运行checkstyle。无法使buildr运行checkstyle

我已经添加了要求,因为

require 'buildr/checkstyle' 

但是当我运行

buildr checkstyle:html 

我得到这个(与跟踪)

/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>' 

任何想法,我错过了什么?

回答

1

有几件事要注意。 checkstyle目标被添加到它们被定义的项目中。所以,如果你创建一个项目像

require 'buildr/checkstyle' 

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

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

然后,你将需要调用buildr任务“buildr富:CheckStyle的:HTML”。应该注意的是,只需将build要求添加到构建文件是不够的,您还需要提供一个列出检查的配置文件。默认情况下,它位于名称为“checks.xml”的配置目录中,因此对于上述示例,您需要将checkstyle配置文件放在“etc/checkstyle/checks.xml”中。

1.4.17版之前的buildr版本也需要你指定一个xsl样式表,如果你想生成一个html报告。默认情况下,配置目录中的名称为“checkstyle-report.xsl”,但从buildr版本1.4.17开始,buildr提供它自己的xsl版本。