On Mon, 14 Dec 2020 09:34:31 GMT, Hannes Wallnöfer <[email protected]> wrote:
>> This is for JDK16, as a precursor to fixing JDK-8258002.
>>
>> While it is good to be using localized strings in the generated output, the
>> significance for JDK-8258002 is that the strings are now obtained from a
>> resource file, and not hardcoded in JavaScript file itself.
>>
>> The source file `search.js` is renamed to `search.js.template`, and (unlike
>> other template files) is copied as-is into the generated image. The values
>> in the template are resolved when javadoc is executed, depending on the
>> locale in use at the time. Because of the change in the file's extension,
>> two makefiles are updated to accommodate the new extension: one is for the
>> "interim" javadoc used to generate the API docs; the other is for the
>> primary javadoc in the main JDK image.
>
> src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/util/DocFile.java
> line 256:
>
>> 254: sb.append(resources.getText(m.group("key")));
>> 255: } catch (MissingResourceException e) {
>> 256: sb.append(m.group());
>
> Shouldn't we propagate an error here, or issue a warning? If a key is missing
> localized properties the value from default properties should be used, so
> this should never happen, right?
I see the added check for "##REPLACE:" in TestSearch.java will catch that case,
so I guess it's ok.
-------------
PR: https://git.openjdk.java.net/jdk16/pull/16