Reproducible Java builds need reproducible outputs (JARs, etc) created by Ant. The current work arounds for JARs [1][2] re-create the archive by ordering the entries and setting a fixed timestamp. So, Ant would really help reproducible builds everywhere if it would start generating deterministic files. The Jar task is the most important, but Zip is also related and there are probably more. This could be provided with a boolean "deterministic" (or "reproducible") task parameter which would default to "false". 1. https://wiki.debian.org/ReproducibleBuilds/TimestampsInJarFiles 2. https://github.com/emilianbold/reproducible-nextbeans/commit/385a2dfe1211b60e0760fef6ceadb5dcdf56d5ea#diff-cca8843bd49355638f50da9975b53a49R47
+1 for supporting reproducible builds. For the reference here are the patches used in Debian to improve the reproducibility of Ant builds: https://salsa.debian.org/java-team/ant/blob/debian/1.10.6-1/debian/patches/0009-reproducible-timestamp-task.patch https://salsa.debian.org/java-team/ant/blob/debian/1.10.6-1/debian/patches/0010-reproducible-javadoc-task.patch https://salsa.debian.org/java-team/ant/blob/debian/1.10.6-1/debian/patches/0011-reproducible-propertyfile-task.patch
Like I replied to another bugzilla issue previously - it would be good to have these patches contributed to upstream Ant, if you are interested.
@Jaikiran Feel free to pick anything you find interesting in the Debian patches, they are licensed under the ASLv2 and can be copied directly.