RFR: JDK-8058539: Platform specific source files may not end up in src.zip
Alan Bateman
Alan.Bateman at oracle.com
Fri Aug 2 15:08:29 UTC 2019
On 20/06/2019 10:39, Erik Joelsson wrote:
> For both java and native source files, we have a feature in the build
> which allows overriding based on file name for more specific version
> (i.e. OS specific overrides shared). This works quite well and is used
> in several locations. It does however break down when building
> src.zip. The file with the newest modification date gets picked by the
> zip utility, which essentially makes it random. Luckily the kind of
> files that are overridden this way are usually rather fringe so very
> few people probably care. Even so, the build should be correct, so
> here is a patch that fixes it.
>
> I've added a loop that looks for duplicate files in the given source
> roots and adds any but the first found to exclude lists. I was afraid
> this would add noticeable time to incremental rebuilds, but I found a
> way to work around this by putting this calculation in the recipe for
> the zip file. The drawback is that we cannot remove these files from
> the prerequisites list, so we may trigger unnecessary rebuilds of zip
> files. However, since the number of src files that are handled this
> way is so small, I believe that to be a very rare situation and that
> it's much more valuable to avoid doing the calculation most of the
> time instead. (On my machine, without this hack, incremental rebuild
> of "make zip-source" went from 2.7s to 3.2s, which is noticeable
> enough IMO, with the hack, there is no difference.)
>
> Bug: https://bugs.openjdk.java.net/browse/JDK-8058539
>
> Webrev: http://cr.openjdk.java.net/~erikj/8058539/webrev.01/
This looks okay to me.
-Alan
More information about the build-dev
mailing list