On Thu, 26 Oct 2023 17:53:12 GMT, Jonathan Gibbons <j...@openjdk.org> wrote:

>> 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.
>
> Jonathan Gibbons has updated the pull request incrementally with one 
> additional commit since the last revision:
> 
>   Address review feedback

src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlDoclet.java
 line 347:

> 345:             case "", "default" -> {
> 346:                 // use a dummy resource as a stand-in, because we cannot 
> get the URL for a resources directory
> 347:                 var url = 
> HtmlDoclet.class.getResource(DocPaths.RESOURCES.resolve(DocPaths.STYLESHEET).getPath());

Have you considered getting the legal notices directory from the parent of 
`resources/legal/jquery.md` instead of `resources/stylesheet.css`?   Using a 
relevant file would help the reader.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/16370#discussion_r1376833446

Reply via email to