[jdk16] RFR: JDK-8247994: Localize javadoc search

Hannes Wallnöfer hannesw at openjdk.java.net
Mon Dec 14 09:58:56 UTC 2020


On Mon, 14 Dec 2020 09:34:31 GMT, Hannes Wallnöfer <hannesw at openjdk.org> 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


More information about the core-libs-dev mailing list