Please review an update to the way that `javadoc` handles the default legal 
notices when generating docs.

Previously, the default notices were taken from the module's `legal` directory 
(`$JAVA_HOME/legal/jdk.javadoc`), but in some contexts, these files were either 
symbolic links, or "descriptive links" -- text files containing the words 
"Please see ..." -- on platforms that did not support symbolic links. This was 
set up when using `jlink` to create the image.  These "descriptive links" were 
insufficient and inappropriate when used in a generated docs bundle.

The solution is to put a copy of the necessary files into the `jdk.javadoc` 
module itself, at build time, as resource files, and to copy the files from 
there instead of the module's `legal` directory. 

The set of files may vary depending on the kind of build, so care is taken to 
not hardwire any specific list of names into the code. This means using direct 
access to the underlying `jrt:` file system in order to determine the set of 
legal notices that were set up at build time. 

The main test for legal notices is updated to verify that the words "Please see 
..." do not appear in any of the legal notices in a generated docs bundle. 
There should be no other change to the set of legal notices.

Two other tests were affected, because they provided their own minimal file 
manager for use with `javadoc`, which relied on default methods in the file 
manager API. These default methods are not sufficiently for handling paths in 
non-default file systems, such as the `jrt:` file system used to access the 
resources for the legal notices. The fix is just to override the necessary 
methods.

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

Commit messages:
 - JDK-8306980: Generated docs should contain correct Legal Documents

Changes: https://git.openjdk.org/jdk/pull/16370/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=16370&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8306980
  Stats: 87 lines in 6 files changed: 85 ins; 0 del; 2 mod
  Patch: https://git.openjdk.org/jdk/pull/16370.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/16370/head:pull/16370

PR: https://git.openjdk.org/jdk/pull/16370

Reply via email to