RFR: JDK-8058539: Platform specific source files may not end up in src.zip

Erik Joelsson erik.joelsson at oracle.com
Fri Jul 26 15:53:36 UTC 2019

Gentle reminder.


On 2019-06-20 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/
> /Erik
> <https://bugs.openjdk.java.net/browse/JDK-8058539>

More information about the build-dev mailing list