2011-03-09 113 views
12

在eclipse中,我可以定義探測器ID錯誤類別要從首選項頁面報告。
我無法在findbugs docs的FindBugs ant任務中找到類似的東西,或者在eclipse ant編輯器中使用自動完成功能。
我可以調整的東西是努力報告水平

正在調整探測器和類別無證或缺少的功能,或者我錯過了什麼?
FindBugs的eclipse插件如何解決它?Finetuning FindBugs ant任務

回答

9

我也遇到findbugs和ant的問題。這裏是我終於做到:

<taskdef name="findbugs" 
      classpathref="build_libs" 
      classname="edu.umd.cs.findbugs.anttask.FindBugsTask" /> 
    <!-- 
    Executes findbugs for a unpacked plugin (folder)      
    Params: 
     plugin: the plugin/module to fetch 
     plugin_dir: the folder to checkout the plugin to 
    --> 
    <target name="run.findbugs"> 
     <echo level="info">Running FindBugs: ${plugin}</echo> 
     <findbugs home="${FINDBUGS.HOME}" 
      output="xml:withMessages" 
      outputFile="${report.dir}/findbugs_report_${plugin}.xml" 
      timeout="1200000" 
      includefilter="report/YOUR_findbugs_filter.xml" 
      excludefilter="report/YOUR_findbugs_exclude_filter.xml" 
      jvmargs="-server -Xss1m -Xmx512m"> 

      <sourcepath location="${plugin_dir}/${plugin}/**/*.java" /> 
      <class location="${install}/plugins/${plugin}_*.jar" /> 
     </findbugs> 
    </target> 

    <!-- 
    Executes findbugs for a single eclipse plugin     
    Params: 
     plugin: the plugin/module to fetch 
     plugin_dir: the folder to checkout the plugin to 
    --> 
    <target name="run.findbugs.unpacked"> 
     <echo level="info">Running FindBugs: ${plugin} (unpacked)</echo> 
     <path id="rfu.pfp"> 
      <fileset dir="${install}/plugins/"> 
       <include name="${path_to_jar}" /> 
      </fileset> 
     </path> 
     <property name="plugin_fullpath" refid="rfu.pfp" /> 
     <findbugs home="${FINDBUGS.HOME}" 
      output="xml:withMessages" 
      outputFile="${report.dir}/findbugs_report_${plugin}.xml" 
      timeout="1200000" 
      includefilter="report/YOUR_findbugs_filter.xml" 
      excludefilter="report/YOUR_findbugs_exclude_filter.xml" 
      jvmargs="-server -Xss1m -Xmx512m"> 

      <class location="${plugin_fullpath}" /> 
     </findbugs> 
    </target> 

調用的任務:

解壓縮後的插件:

<antcall target="run.findbugs.unpacked"> 
    <param name="plugin" value="com.myplugin.core" /> 
    <param name="path_to_jar" value="com.myplugin.core_*/*.jar" /> 
</antcall> 

插件:

<antcall target="run.findbugs"> 
    <param name="plugin" value="com.myplugin.core" /> 
</antcall> 

希望幫助...

+0

謝謝你,eldn。這是很多東西來嘗試。我會盡快回復。 – kostja 2011-03-15 07:03:22

+1

是否有機會從「report/YOUR_findbugs_exclude_filter.xml」獲取內容樣本? – 2011-03-18 04:08:10

+2

[官方findbugs手冊](http://findbugs.sourceforge.net/manual/filter.html)中有一個很好的例子。 – eldn 2011-03-18 04:43:30