2011-03-09 33 views
12

Eclipse içinde tercih sayfasından raporlanmak üzere dedektörü ids ve hata kategorilerini tanımlayabiliyorum.
findbugs docs'daki FindBugs ant görevi için veya eclipse ant editörünün içindeki otomatik tamamlama özelliğini kullanamıyorum.
Ayarlayabileceğim şeyler eforu ve rapor düzeyi'dur.

Detektörleri ve kategorileri belgesiz veya eksik bir özelliği ayarlıyor mu veya bir şeyleri özledim mi?
Ve FindBugs eclipse eklentisinde nasıl çözülür?Finetuning FindBugs ant görev

cevap

9

Ben de bulbugs ve karınca ile bazı sorunları vardı. İşte nihayet yaptık ne:

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

Çağrı görev:

Ambalajsız eklentisi:

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

eklentisi:

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

Umut yardımcı olur ...

+0

Teşekkür ederim, eldn. Denemek için çok şey var. Yakında geri bildirim ile döneceğim. – kostja

+1

"Rapor/YOUR_findbugs_exclude_filter.xml" adresinden içerik örneği alma şansınız var mı? –

+2

[Resmi findbugs kılavuzunda] iyi bir örnek var (http://findbugs.sourceforge.net/manual/filter.html). – eldn