[rb-general] Reproducible Java builds with Maven

Hervé BOUTEMY herve.boutemy at free.fr
Mon Nov 26 09:05:44 CET 2018


A few years ago, the work on this started and I created a Wiki page [1] at 
Maven to try to consolidate efforts from many isolated people I met who were 
interested in the topic: this Wiki page did not attract many contributions nor 
even discussions on Maven mailing lists, I hope this thread at reproducible-
builds will help convergence between efforts.

Currently, there is a plugin that does the job as archive post-processing, but 
one intent would be to have native reproducible builds when that does not hurt 
other objectives, like performance or anything else: we did already change 
many plugins that for sure improve the situation, but I don't have a real view 
on how far we are from native reproducible builds.

I know that one key step will be to have reproducible archives creation (with 
reproducible timestamps and order), which won't be easy without sacrificing 
performance (ConcurrentJarCreator was created to improve performance, but adds 
even more variability in order...)

And one thing that worries me is the variability introduced by the JDK version 
used: this one is quite generic to Java, I don't know if there is currently a 
global strategy that we could reuse.

Anybody interested in working together?


Apache Maven PMC

[1] https://cwiki.apache.org/confluence/pages/viewpage.action?pageId=74682318

More information about the rb-general mailing list