On Fri, 21 Jan 2022 16:23:25 GMT, Jonathan Gibbons <j...@openjdk.org> wrote:

>> Please review a javadoc update to support a new `--date` option to support 
>> reproducible builds.
>> 
>> This pull request supersedes https://github.com/openjdk/jdk/pull/6905. In 
>> that PR, the `SOURCE_DATE_EPOCH` environment variable was used to provide 
>> the time stamp, but review feedback suggested the use of a new command-line 
>> option, `--date`.  The format of the argument of the `--date` option is that 
>> same as that of similar options for the _jar_ and _jmod_ tools, and the code 
>> to handle the value is based on code in the _jar_ tool.
>
> Jonathan Gibbons has updated the pull request incrementally with one 
> additional commit since the last revision:
> 
>   change allowable date range to within 10 years of the time of use

Generally looks good, but I have a few questions and found a lone typo.

src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/HtmlConfiguration.java
 line 171:

> 169: 
> 170:     /**
> 171:      * TRhe build date, to be recorded in generated files.

Typo: TRhe

src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/resources/standard.properties
 line 433:

> 431: doclet.usage.date.description=\
> 432:     Specifies the value to be used to timestamp the generated\n\
> 433:     pages, in ISO_ZONED_DATE_TIME format

I guess it is technically correct to use  a `DateTimeFormatter` constant name 
here, but wouldn't it be better form to use a generic term like "ISO-8601 
format"?

src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/BaseOptions.java
 line 359:

> 357:                     private static final ZonedDateTime now = 
> ZonedDateTime.now();
> 358:                     static final ZonedDateTime DATE_MIN = 
> now.minusYears(10);
> 359:                     static final ZonedDateTime DATE_MAX = 
> now.plusYears(10);

What's the purpose of limiting valid dates this way?

src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/toolkit/BaseOptions.java
 line 370:

> 368:                         try {
> 369:                             date = ZonedDateTime.parse(arg, 
> DateTimeFormatter.ISO_ZONED_DATE_TIME)
> 370:                                     .withZoneSameInstant(ZoneOffset.UTC);

I notice that the new option takes a date-time with timezone, but the timezone 
is discarded here (and the date-time is later converted to a java.util.Date). 
Since the purpose of this change is to enable reproducible builds, I guess it 
should be possible to define the timezone used in the "Generated by" comment 
(which as far as I can tell is the timezone of the local host).

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

PR: https://git.openjdk.java.net/jdk/pull/7171

Reply via email to