On Thu, 26 Oct 2023 13:29:04 GMT, Magnus Ihse Bursie <i...@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.
>
> make/modules/jdk.javadoc/Copy.gmk line 44:
> 
>> 42: $(eval $(call SetupCopyFiles, COPY_JAVADOC_COMMON_LEGAL_RESOURCES, \
>> 43:     DEST := $(JDK_JAVADOC_DOCLET_RESOURCE_DIR)/legal, \
>> 44:     FILES := $(wildcard $(SUPPORT_OUTPUTDIR)/modules_legal/common/*), \
> 
> Suggestion:
> 
>     FILES := $(wildcard $(COMMON_LEGAL_DST_DIR)/*), \
> 
> 
> This is already defined in CopyCommon...

Noted.

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

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

Reply via email to