[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[ecf-dev] javadoc generation in release builds

Hi Folks,

Thanks mostly to Markus K, for some time our release builds have been generating javadocs as part of the build (in addition to signing, uploading, tagging the release build, etc).

I'm trying to clean up and simplify the javadocs for 3.11.1 (Sept 28...coming up). Starting a few releases ago the javadocs generation began failing with repeated ClassCastExceptions (example from recent release build below). Through some googling, it seems that this represents a bug in javadoc [1], and that it can be fixed by adding to the javadocs classpath an annotation classes/jars used in the source. Unfortunately, I can't easily tell which annotation(s) are missing, and so can't figure out how to get the necessary jars and place them on the javadoc classpath.

Does anyone else have experience with this problem for javadocs generation? What is the best way to work around this bug?

Also, is there any way to invoke *just* the javadoc generation in Jenkins...as if it was done as part of a release build?...i.e. in order to do workaround testing without doing a full release build?

Thanks,

Scott

javadocs generation exception from recent release build: https://build.ecf-project.org/jenkins/job/R-HEAD-sdk.feature/154/consoleFull

[ant] java.lang.ClassCastException: com.sun.tools.javadoc.ClassDocImpl cannot be cast to com.sun.javadoc.AnnotationTypeDoc
[ant] 	at com.sun.tools.javadoc.AnnotationDescImpl.annotationType(AnnotationDescImpl.java:46)
[ant] 	at com.sun.tools.doclets.internal.toolkit.util.Util.isDeprecated(Util.java:811)
[ant] 	at com.sun.tools.doclets.formats.html.ClassWriterImpl.writeClassDeprecationInfo(ClassWriterImpl.java:242)
[ant] 	at com.sun.tools.doclets.internal.toolkit.builders.ClassBuilder.buildDeprecationInfo(ClassBuilder.java:229)
[ant] 	at sun.reflect.GeneratedMethodAccessor17.invoke(Unknown Source)
[ant] 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[ant] 	at java.lang.reflect.Method.invoke(Method.java:597)
[ant] 	at com.sun.tools.doclets.internal.toolkit.builders.ClassBuilder.invokeMethod(ClassBuilder.java:101)
[ant] 	at com.sun.tools.doclets.internal.toolkit.builders.AbstractBuilder.build(AbstractBuilder.java:90)
[ant] 	at com.sun.tools.doclets.internal.toolkit.builders.ClassBuilder.buildClassDoc(ClassBuilder.java:124)
[ant] 	at sun.reflect.GeneratedMethodAccessor7.invoke(Unknown Source)
[ant] 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[ant] 	at java.lang.reflect.Method.invoke(Method.java:597)
[ant] 	at com.sun.tools.doclets.internal.toolkit.builders.ClassBuilder.invokeMethod(ClassBuilder.java:101)
[ant] 	at com.sun.tools.doclets.internal.toolkit.builders.AbstractBuilder.build(AbstractBuilder.java:90)
[ant] 	at com.sun.tools.doclets.internal.toolkit.builders.ClassBuilder.build(ClassBuilder.java:108)
[ant] 	at com.sun.tools.doclets.formats.html.HtmlDoclet.generateClassFiles(HtmlDoclet.java:155)
[ant] 	at com.sun.tools.doclets.internal.toolkit.AbstractDoclet.generateClassFiles(AbstractDoclet.java:177)
[ant] 	at com.sun.tools.doclets.internal.toolkit.AbstractDoclet.generateClassFiles(AbstractDoclet.java:161)
[ant] 	at com.sun.tools.doclets.internal.toolkit.AbstractDoclet.startGeneration(AbstractDoclet.java:106)
[ant] 	at com.sun.tools.doclets.internal.toolkit.AbstractDoclet.start(AbstractDoclet.java:64)
[ant] 	at com.sun.tools.doclets.formats.html.HtmlDoclet.start(HtmlDoclet.java:42)
[ant] 	at com.sun.tools.doclets.standard.Standard.start(Standard.java:23)
[ant] 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[ant] 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
[ant] 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
[ant] 	at java.lang.reflect.Method.invoke(Method.java:597)
[ant] 	at com.sun.tools.javadoc.DocletInvoker.invoke(DocletInvoker.java:269)
[ant] 	at com.sun.tools.javadoc.DocletInvoker.start(DocletInvoker.java:143)
[ant] 	at com.sun.tools.javadoc.Start.parseAndExecute(Start.java:340)
[ant] 	at com.sun.tools.javadoc.Start.begin(Start.java:128)
[ant] 	at com.sun.tools.javadoc.Main.execute(Main.java:41)
[ant] 	at com.sun.tools.javadoc.Main.main(Main.java:31)


[1] http://stackoverflow.com/questions/44853/why-am-i-getting-a-classcastexception-when-generating-javadocs