RFR: JDK-8267204: Expose access to underlying streams in DocletEnvironment

Jonathan Gibbons jjg at openjdk.java.net
Thu May 20 17:46:32 UTC 2021


On Thu, 20 May 2021 16:51:59 GMT, Pavel Rappo <prappo at openjdk.org> wrote:

>> Please review a relatively simple update to expose the 1 or 2 streams available within javadoc for writing expected or diagnostic output.
>> 
>> The change at this time is just to _expose_ the streams; followup work may change how we _use_ them.
>> 
>> There are two points of note:
>> 
>> * `JavadocTester` is extended to provided access to the javadoc entry point used by the launcher. This is simpler than exec-ing the tool to invoke the entry point, and allows us to use the existing code to capture and analyze the output.
>> * The initialization of the default streams in `Messager` is deferred, to allow `Messager` to use the values of `System.out` and `System.err` at the time that javadoc is started, instead of when the class was loaded. This is part of the problems described separately in JDK-8267203, but which needs to be addressed here as part of this work.
>
> src/jdk.javadoc/share/classes/jdk/javadoc/doclet/DocletEnvironment.java line 154:
> 
>> 152:          * @implSpec
>> 153:          * This implementation returns {@code null}.
>> 154:          * The implementation provided by the `javadoc` tool to
> 
> Use `{@code javadoc}` or just javadoc instead of `javadoc` (back ticks).

oops

-------------

PR: https://git.openjdk.java.net/jdk/pull/4077


More information about the javadoc-dev mailing list