I have one more bit of information about the exclusions. I created an Ant build file to manually generate the report and reproduced the same error as in my previous post. I turned on the verbose switch and got:
BUILD FAILED
Caused by: java.io.IOException: Error while analyzing class news_cd.jar@news/news/news.jar@installableApps/news.ear@commons-codec-1.4.jar@org/apache/commons/codec/binary/Base64.class.
Caused by: java.lang.IllegalStateException: Can't add different class with same name: org/apache/commons/codec/binary/Base64
As you can see, I'm using jar files and here is a case where there are nested jar and ear files. So far, the only way I was able to avoid the error was to exclude the entire news_cd.jar in the report generation build file:
<structure name="Example Project">
<group name="mygroup">
<classfiles>
<fileset dir="/local/ci/news/jars_original" excludes="news_cd.jar"/>
</classfiles>
</group>
</structure>
Is there a way to specify the the Base64 class or the entire commons-codec-1.4.jar in an exclusion when they are buried in a nested jar/ear file hierarchy?
To add to the counter-intuitive piece: We don't have access to source in our automation, so I left the "Path to source directories" blank. Much to my chagrin, the plug-in interpreted that as the workspace directory, so each build saved off the entire workspace directory, 3GB in our case. I assumed a blank field meant you didn't have sources.