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