Javadoc tool not handling nested anonymous classes

Jonathan Gibbons jonathan.gibbons at oracle.com
Mon Jan 8 23:08:35 UTC 2018


Thanks.

-- Jon

On 01/08/2018 03:02 PM, Jason Tedor wrote:
> Sure:
>
> $ git clone https://github.com/elastic/elasticsearch.git 
> <mailto:git at github.com:elastic/elasticsearch.git>
> $ cd elasticsearch
> $ git checkout c831442352c00f6cf840ffc3cbae64694935ce8b
> $ JAVA_HOME=/path/to/jdk-10 gradle clean :core:javadoc
>
> this will fail and the build will say
>
> > Javadoc generation failed. Generated Javadoc options file (useful 
> for troubleshooting): 
> '/home/jason/src/elastic/elasticsearch/core/build/tmp/javadoc/javadoc.options'
>
> where of course the above path will be slightly different for you 
> (let's call it /path/to/javadoc.options). Then you can say:
>
> $ /path/to/jdk-10/bin/javadoc @/path/to/javadoc.options and the error 
> will reproduce
>
> Now Gradle is removed from the equation and the 
> file /path/to/javadoc.options contains all the command line arguments 
> that are passed to javadoc.
>
>
> On Mon, Jan 8, 2018 at 5:47 PM Jonathan Gibbons 
> <jonathan.gibbons at oracle.com <mailto:jonathan.gibbons at oracle.com>> wrote:
>
>     That would help. Thanks.
>
>     -- Jon
>
>
>     On 01/08/2018 02:45 PM, Jason Tedor wrote:
>>     Jonathan: If it helps, I can show you how to use Gradle to
>>     produce the arguments that are passed to the javadoc command
>>     line, and then you'll have a pure javadoc command line that you
>>     can use to reproduce the issue?
>>
>>     On Mon, Jan 8, 2018 at 4:31 PM Jonathan Gibbons
>>     <jonathan.gibbons at oracle.com
>>     <mailto:jonathan.gibbons at oracle.com>> wrote:
>>
>>         I spent hour on Friday trying to create a small test case,
>>         but without success so far. It seems notable that the example
>>         you list in your source code is a lambda whose body contains
>>         3 levels of nested anon classes.
>>
>>         In general, I strongly dislike having to debug javac code
>>         involving large external build systems like Maven and Gradle,
>>         but I guess it may become necessary here.
>>
>>         At any rate, I note you have a workaround, since you say you
>>         have ways to run javadoc that does not trigger the error.
>>
>>         -- Jon
>>
>>
>>         On 1/8/18 1:13 PM, Jason Tedor wrote:
>>>         Thanks Jonathan. To clarify, is that something that you will
>>>         do or are you expecting me to take action here?
>>>
>>>         On Fri, Jan 5, 2018 at 4:35 PM Jonathan Gibbons
>>>         <jonathan.gibbons at oracle.com
>>>         <mailto:jonathan.gibbons at oracle.com>> wrote:
>>>
>>>             Jason,
>>>
>>>             Thanks for the experiments and report. It sounds like we
>>>             can make a very reduced test case from that.
>>>
>>>             -- Jon
>>>
>>>
>>>             On 01/05/2018 01:30 PM, Jason Tedor wrote:
>>>>             Thanks again for your replies Jonathan, this is helpful.
>>>>
>>>>             > I see that one possibility may be the presence of
>>>>             source code on the source or class path, and equivalent
>>>>             previously-compiled classes on the class path.
>>>>
>>>>             This is indeed the case, the compiled classes are on
>>>>             the -classpath passed to the invocation of javadoc; we
>>>>             are not specifying --source-path in our invocation.
>>>>
>>>>             > If that is what is happening for you, that may
>>>>             indicate a bug in javac (which is the front end for
>>>>             javadoc, and which should handle this situation).
>>>>
>>>>             Indeed.
>>>>
>>>>             > The workaround for you would be to try and ensure
>>>>             that you don't have sources and equivalent compiled
>>>>             classes on your source/classpath for javadoc.
>>>>
>>>>             If I remove compiling these classes before running
>>>>             javadoc then this error does not occur.
>>>>
>>>>             > I am following up with javac folk to see if there is
>>>>             an issue there.
>>>>
>>>>             Thanks, please let me know what you find out.
>>>>
>>>>             Again, thank you for your help.
>>>>
>>>>             On Thu, Jan 4, 2018 at 7:40 PM Jonathan Gibbons
>>>>             <jonathan.gibbons at oracle.com
>>>>             <mailto:jonathan.gibbons at oracle.com>> wrote:
>>>>
>>>>
>>>>
>>>>                 On 01/04/2018 04:37 PM, Jonathan Gibbons wrote:
>>>>                 >
>>>>                 > One other change may be relevant: JDK-8177588, in
>>>>                 which we made
>>>>                 > javadoc be more strict when it encounters
>>>>                 compilation errors. This was
>>>>                 > fix in JDK 10 b10.
>>>>                 >
>>>>
>>>>                 We can probably take this off the table, as the fix
>>>>                 originally appeared
>>>>                 in JDK 9.
>>>>
>>>>                 -- Jon
>>>>
>>>
>>
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/javadoc-dev/attachments/20180108/391e84b4/attachment-0001.html>


More information about the javadoc-dev mailing list