RFR: 8276764: Enable deterministic file content ordering for Jar and Jmod [v6]

Daniel Fuchs dfuchs at openjdk.java.net
Mon Nov 22 15:00:32 UTC 2021


On Fri, 19 Nov 2021 22:04:47 GMT, Andrew Leonard <aleonard at openjdk.org> wrote:

>> Both jar and jmod utilise java.io file operations whose methods define no ordering of the return file lists, and in fact rely on OS query file ordering, which can differ by underlying OS architecture.
>> This PR adds sort processing to the creation of such jar's and jmod's to enable a deterministic content ordering.
>> 
>> Signed-off-by: Andrew Leonard <anleonar at redhat.com>
>
> Andrew Leonard has updated the pull request incrementally with one additional commit since the last revision:
> 
>   8276764: Enable deterministic file content ordering for Jar and Jmod
>   
>   Signed-off-by: Andrew Leonard <anleonar at redhat.com>

src/jdk.jlink/share/classes/jdk/tools/jmod/JmodTask.java line 772:

> 770:             // Keep a sorted set of files to be processed, so that the jmod
> 771:             // content is reproducible as Files.walkFileTree order is not defined
> 772:             SortedMap<String, Path> filesToProcess  = new TreeMap<String, Path>();

Nit: there seems to be two whitespaces (instead of one) before the `=` sign on this line.

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

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


More information about the compiler-dev mailing list