FindBugs está realmente escaneando los archivos de clase compilados, no el sourcePath
. Si está compilando sus archivos src/* y test/* en los diferentes directorios, puede usar el elemento anidado <class...>
.
<findbugs home="${findbugs.dir}" output="xml:withMessages"
outputFile="${findbugs.report.xml}" jvmargs="-Xmx256M"
effort="max" projectName="${ant.project.name}"
auxClasspathRef="findbugs.classpath"
sourcePath="${src.dir}">
<class location="${src.classes.dir}"/>
</findbugs>
Eso no funcionará si src/* y test/* se compilan en un solo directorio. En ese caso, use un filter file y excluya los paquetes o nombres de clase que corresponden a las pruebas.
<findbugs home="${findbugs.dir}" output="xml:withMessages"
outputFile="${findbugs.report.xml}" jvmargs="-Xmx256M"
effort="max" projectName="${ant.project.name}"
auxClasspathRef="findbugs.classpath"
sourcePath="${src.dir}"
excludefilter="exclude.xml">
<class location="${classes.dir}"/>
</findbugs>
donde exclude.xml
parece:
<FindBugsFilter>
<Match>
<Class name="~.*Test$"/>
</Match>
<Match>
<Package name="~test\..*"/>
</Match>
</FindBugsFilter>
buena explicación ... al parecer tengo que empezar a tomar café o algo así. Eliminado mi respuesta, que bien correcta es engañosa. – TofuBeer