2014-06-05 29 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版本。