Hi,
When I try running FindBugs from an Ant task I get a ZipException on my
output file.
As you can see below, I run the task twice. The first time everything
goes ok but the second time it fails and I don't understand why.
Can you help me? Thanks.
Yours,
Nick.
Build file:
---------
<project name="NoKeos Quality Control Reporting" default="all">
<property name="lib.dir" location="lib" />
<property name="plugin.dir" location="plugins"/>
<property name="source.dir" location="src"/>
<property name="report.dir" location="report"/>
<property name="build.dir" location="bin"/>
<tstamp>
<format property="timestamp" pattern="yyyy.MM.dd-HH'h'mm'm'" />
</tstamp>
<property name="findbugs.dir" location="c:/java/findbugs-1.2.1" />
<property name="findbugs.lib.dir" location="${findbugs.dir}/lib" />
<property name="findbugs.jvmargs"
value="-server -Xss1m -Xmx800m -Duser.language=en
-Duser.region=EN -Dfindbugs.home=${findbugs.lib.dir}"
/>
<property name="findbugs.xml.core.file"
value="${report.dir}/findbugs-core-${timestamp}.xml" />
<property name="findbugs.xml.plugins.file"
value="${report.dir}/findbugs-plugins-${timestamp}.xml" />
<property name="findbugs.html.file"
value="${report.dir}/findbugs.html" />
<!-- findbugs task definition -->
<path id="findbugs.lib">
<fileset dir="${findbugs.lib.dir}">
<include name="findbugs-ant.jar" />
</fileset>
</path>
<taskdef name="findbugs"
classname="edu.umd.cs.findbugs.anttask.FindBugsTask">
<classpath refid="findbugs.lib" />
</taskdef>
<target name="all" description="Runs all QC reporting tasks"
depends="init, checkstyle-report, findbugs-report">
</target>
<target name="init"></target>
<path id="client.lib">
<fileset dir="${lib.dir}">
<include name="client/**/*.jar" />
<include name="common/**/*.jar" />
</fileset>
</path>
<path id="plugins.lib">
<fileset dir="${plugin.dir}">
<include name="**/*.jar" />
<exclude name="**/*-client.jar" />
<exclude name="**/*-common.jar" />
<exclude name="**/*-server.jar" />
</fileset>
</path>
<path id="client.src">
<fileset dir="${source.dir}">
<include name="**/*.java" />
<exclude name="**/interfaces/*.java" />
</fileset>
</path>
<path id="plugins.src">
<fileset dir="${plugin.dir}">
<include name="**/src/**/.java" />
<exclude name="**/interfaces/*.java" />
</fileset>
</path>
<target name="findbugs-report" description="Create the FindBugs report">
<antcall target="findbugs-analyze" />
</target>
<target name="findbugs-analyze">
<!-- splitting tasks to avoid memory problems -->
<echo level="info">Finding bugs in core classes...</echo>
<findbugs jvmargs="${findbugs.jvmargs}"
home="${findbugs.dir}"
reportlevel="medium"
output="xml:withMessages"
outputfile="${findbugs.xml.core.file}"
effort="default"
debug="false"
>
<class location="${build.dir}" />
<auxclasspath refid="client.lib" />
<sourcepath>
<path refid="client.src" />
</sourcepath>
</findbugs>
<echo level="info">Finding bugs in plug-in classes...</echo>
<findbugs jvmargs="${findbugs.jvmargs}"
home="${findbugs.dir}"
reportlevel="medium"
output="xml:withMessages"
outputfile="${findbugs.xml.plugins.file}"
effort="default"
debug="false"
>
<class location="${plugin.dir}" />
<auxclasspath refid="client.lib" />
<auxclasspath refid="plugins.lib" />
<sourcepath>
<path refid="plugins.src" />
</sourcepath>
</findbugs>
</target>
</project>
Console output:
----------------
Buildfile: C:\projects\nokeos\qc-build.xml
init:
findbugs-report:
findbugs-analyze:
[echo] Finding bugs in core classes...
[findbugs] Running FindBugs...
[findbugs] The following classes needed for analysis were missing:
[findbugs] javax.servlet.http.HttpServlet
[...]
[findbugs] org.dom4j.io.DOMReader
[findbugs] Warnings generated: 304
[findbugs] Missing classes: 33
[findbugs] Classes needed for analysis were missing
[findbugs] Output saved to
C:\projects\nokeos\report/findbugs-core-2007.09.21-11h01m.xml
[echo] Finding bugs in plug-in classes...
[findbugs] Running FindBugs...
[findbugs] Exception in thread "main" java.util.zip.ZipException: Error
opening C:\projects\nokeos\report\findbugs-plugins-2007.09.21-11h01m.xml
[findbugs] at
edu.umd.cs.findbugs.classfile.impl.ZipFileCodeBase.<init>(ZipFileCodeBase.java:61)
[findbugs] at
edu.umd.cs.findbugs.classfile.impl.ClassFactory.createFilesystemCodeBase(ClassFactory.java:96)
[findbugs] at
edu.umd.cs.findbugs.classfile.impl.FilesystemCodeBaseLocator.openCodeBase(FilesystemCodeBaseLocator.java:63)
[findbugs] at
edu.umd.cs.findbugs.classfile.impl.ClassPathBuilder.processWorkList(ClassPathBuilder.java:381)
[findbugs] at
edu.umd.cs.findbugs.classfile.impl.ClassPathBuilder.build(ClassPathBuilder.java:192)
[findbugs] at
edu.umd.cs.findbugs.FindBugs2.buildClassPath(FindBugs2.java:432)
[findbugs] at edu.umd.cs.findbugs.FindBugs2.execute(FindBugs2.java:160)
[findbugs] at edu.umd.cs.findbugs.FindBugs.runMain(FindBugs.java:1521)
[findbugs] at edu.umd.cs.findbugs.FindBugs2.main(FindBugs2.java:731)
[findbugs] Output saved to
C:\projects\nokeos\report/findbugs-plugins-2007.09.21-11h01m.xml
all:
BUILD SUCCESSFUL
Total time: 2 minutes 34 seconds
|
|