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

Jonathan Gibbons jjg at openjdk.java.net
Tue May 18 00:48:12 UTC 2021


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.

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

Commit messages:
 - JDK-8267204: Expose access to underlying streams in DocletEnvironment

Changes: https://git.openjdk.java.net/jdk/pull/4077/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=4077&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8267204
  Stats: 244 lines in 6 files changed: 236 ins; 0 del; 8 mod
  Patch: https://git.openjdk.java.net/jdk/pull/4077.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/4077/head:pull/4077

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


More information about the javadoc-dev mailing list