What are reproducible builds?

Reproducible builds are builds that are bit-wise identical whenever and whoever builds them. They are good for caching, security and build speed. Read more on Reproducible Builds.

Downloads

A Platform build is reproducible already! A download link will be posted as soon as the patches are polished.

1. Timestamps

1.1 moduleCluster.properties has a timestamp that needs to be removed. This is a Java Properties.store bug.

1.2 buildnumber is included in the manifest of all the JARs as well as the main window title, etc.

1.3 update_tracking/*.xml store the current date in the install_time timestamp.

2. JARs

2.1 The JAR entries have timestamps.

2.2 The ordering of the JAR entries is not guaranteed.

3. Generated code

3.1 Generated code (ANTLR parsers, etc) must be deterministic.