after a few years of testing, thinking, procrastination and hard work (thank 
you Thomas for your talk at Devoxx France 2016 [1]), I think I achieved a key 
step this week-end toward native Reproducible Builds with Maven [2]: Maven core 
itself can be built in a reproducible way!

It means that if you build "reproducible" branch of Maven core, you'll get the 
same apache-maven-3.6.3-SNAPSHOT-bin.zip than me or the ASF CI server [3].
The precise result depends only on 2 key facts:
- do you build on Windows or any Unix? This impacts newlines...
- what JDK major version do you use to build? This affects generated .class 
(notice: AFAIK minor JDK version does not have any impact, nor platform)

This branch is only a PoC: it uses unreleased packaging plugins that give 
reproducible results (versions in .RB-SNAPSHOT), and I had to tweak a little 
bit the build for remaining reproduciblity issues with sisu and plexus plugins.
There are many details to decide before releasing these plugins and making 
every build reproducible by default.
But the current steps proves that is is feasible.

Interested in joining the effort to bring this feature to releases for end 
users?

Regards,

Hervé


[1] 
http://zlika.github.io/presentations/devoxx_fr_2016/reproducible-builds/slides_fr.html

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

[3] 
https://builds.apache.org/view/M-R/view/Maven/job/maven-box/job/maven/job/reproducible/



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
For additional commands, e-mail: dev-h...@maven.apache.org

Reply via email to