Comment créer un build reproductible avec Gradle :
tasks.withType(AbstractArchiveTask) {
preserveFileTimestamps = false
reproducibleFileOrder = true
}
Rappel : un build reproductible consiste en un processus qui soit capable de fournir le même binaire (à l’octet près) entre deux commandes de build jouées à deux dates différentes. Comme les archives JAR embarques un timestamp qui chronodate le jour et l'heure build, par défaut ça n'est pas possible.
La semaine reprend le lundi voyez-vous (en réalité elle ne s'arrête vraiment mais bon) et je ne suis pas toujours motivée comme ce matin par exemple. Et puis mon cher @Philou me sort des p'tits liens qui me font plaisir parce que voilà.
Ici, le fait que le maven-jar-plugin puisse enfin produire des JARs de manière reproductibles ! #Enjoy
Plus d'infos ici et merci @Philou.
Il est très difficile de créer des builds reproductibles en Java via Maven / Gradle & Co. Cette très courte présentation explique bien pourquoi.
Heureusement, il existe un plugin maven permettant de virer les timestamps et les méta-data pour rendre le build reproductible à l'octet près.
Encore une fois, merci à @Philou pour l'info.
(ou en fabriquer aussi).
Je coudifie pour lecture ultérieure.