On Tue, 9 Nov 2021 14:57:52 GMT, Magnus Ihse Bursie <i...@openjdk.org> wrote:
> We already have an --enable-reproducible-builds. If (and I say if) we need to > turn this on/off with a flag, this would to fine. > > However, as I have said previously in a private discussion with Andrew, I > prefer it if we can make reproducible builds so cheap, reliable and > uncontroversial so we can always to reproducible builds, and remove that flag. > > For this case, I think it depends on two things: > > 1. the extra time to make the zip file reproducible. Some benchmarking on > the GenerateZip for src.zip would be good to have, at least for some ballpark > figures. > > 2. When is src.zip built? (I don't remember right now) If it is part of > the exploded-image, then it is really time sensitive (and should maybe move > out of that target). If it part of the jdk-image, I'd say it is not as > sensitive, due to > a) this is very much slower anyway, and > b) that part is much more parallelizible, so src.zip can be produced > while waiting for jlink or whatever. @magicus 1) I'll do some rough benchmarks 2) "zip-source" is only dependent on "gensrc", ie.all module -gensrc stages must have completed, so in theory it should run in parallel while the linking goes on, a quick scan of a parallel build log seems to confirm that, the "Updating support/src.zip" occurs quite some time before the exploded image linking: 20:34:45 Compiling 31 files for jdk.management.agent 20:34:45 Compiling 16 files for jdk.security.jgss 20:34:45 Compiling 30 files for jdk.security.auth 20:34:45 Creating support/native/java.security.jgss/libj2gss/static/libj2gss.a from 3 file(s) 20:34:45 Updating support/src.zip 20:34:46 Creating support/native/jdk.management.agent/libmanagement_agent/static/libmanagement_agent.a from 1 file(s) 20:34:46 Creating support/native/jdk.security.auth/libjaas/static/libjaas.a from 1 file(s) 20:34:48 Compiling 136 files for jdk.jdeps 20:34:48 Creating support/test/lib-test/jtreg/native/bin/jvm-test-launcher from 1 file(s) 20:34:49 Creating support/modules_libs/java.base/libverify.so from 1 file(s) ......... 20:36:17 Optimizing the exploded image 20:36:18 Creating java.datatransfer.jmod 20:36:18 Creating java.instrument.jmod 20:36:18 Creating java.compiler.jmod ------------- PR: https://git.openjdk.java.net/jdk/pull/6311