Reproducible builds on Java

Hervé Boutemy hboutemy at apache.org
Mon Sep 6 11:20:44 UTC 2021


Hi,

It's nice to have such decision and working together on it.

As you have probably seen from Reproducible Central [1], reproducibility is 
working quite well.

I personally put a low priority on javadoc, because:
1. it's less critical IMHO
2. the dependency on external package-list make the process quite fragile in 
real world builds: external sites may disappear, which will make reproducing 
javadoc harder over time


My first priority is on bytecode: as I said, it works quite well.
There is one key issue currently: when doing a multi-release jar that contains 
module-info.class, we can't enforce stable timestamp [2].
I don't know if Robert opened some issue on this.

Regards,

Hervé


[1] https://github.com/jvm-repo-rebuild/reproducible-central

[2] https://github.com/codehaus-plexus/plexus-languages/issues/59

Le lundi 6 septembre 2021, 11:17:46 CEST Magnus Ihse Bursie a écrit :
> Hi,
> 
> I'm working for Oracle in the Build Group for OpenJDK [1], which is
> primary responsible for creating a built artifact of the OpenJDK source
> code. I also have a general interest in all things about building in
> general, so I've been lurking on this list for a while. :-)
> 
> For the last few years, we have worked on a low-effort, background-style
> project to make the build of OpenJDK itself building reproducible. We've
> come far, but there are still issues I'd like to address. (If you have
> any feedback on building OpenJDK itself reproducible, you're welcome to
> contact me directly, or on the build-dev at openjdk.java.net mailing list [2]).
> 
> But a larger issue than OpenJDK itself is to make sure that the tools
> from the JDK are creating reproducible builds for all Java projects out
> there. In general, we're doing good (any noticed nondeterminism in javac
> is considered a bug and is fixed promptly), but there are other output
> apart from class files where we've been less good.
> 
> There is a current effort to fix the timestamps in .properties files.
> See the PR here [3], or the preceding discussion on the mailing list
> [4]. If anyone from the reproducible builds community has something to
> add to the discussion, now is the time to make your voice heard.
> 
> I have recently looked through the tests.reproducible-builds.org site
> for Java-specific problems listed. Most of them seem to be
> project-specific, or due to tools outside of the JDK. But one about
> javadoc caught my eye [5]. I talked to one of the javadoc engineers, and
> he think that any nondeterminism is due to old versions (prior to JDK
> 9), which should have been fixed since long. I don't understand how to
> get any further from this page to get more details on the problem. If
> someone could help me by pointing to specific bug reports on javadoc
> generating nondeterministic output, that'd be very helpful.
> 
> /Magnus
> 
> [1] https://openjdk.java.net/groups/build/
> [2] https://mail.openjdk.java.net/mailman/listinfo/build-dev
> [3] https://github.com/openjdk/jdk/pull/5372
> [4]
> https://mail.openjdk.java.net/pipermail/core-libs-dev/2021-August/080758.htm
> l [5]
> https://tests.reproducible-builds.org/debian/issues/unstable/random_order_in
> _documentation_generated_by_javadoc_issue.html






More information about the rb-general mailing list