2011-03-09 16 views
12

Dentro de eclipse, puedo definir identificadores de detector y categorías de error que se notificarán desde la página de preferencias.
No puedo encontrar nada como eso para la tarea de la hormiga FindBugs en el findbugs docs o usando autocompletar dentro del editor de Eclipse Ant.
Las cosas que puedo ajustar son el esfuerzo y el nivel de informe.

¿Está ajustando los detectores y las categorías una característica no documentada o faltante o me he perdido algo?
¿Y cómo se resuelve en el plugin FindBugs eclipse?Finetuning FindBugs tarea ant

Respuesta

9

Tuve algunos problemas con findbugs y hormiga también. Esto es lo que he hecho por último:

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

llamada la tarea:

plug-in sin embalaje:

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

plugin:

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

Esperamos que ayuda ...

+0

gracias, eldn. Eso es muchas cosas para probar. Volveré con comentarios pronto. – kostja

+1

¿Hay alguna posibilidad de obtener una muestra de contenido de "informe/YOUR_findbugs_exclude_filter.xml"? –

+2

Hay un buen ejemplo en el [manual oficial de findbugs] (http://findbugs.sourceforge.net/manual/filter.html). – eldn

Cuestiones relacionadas