From 564bc7e1d124fe908c34071efaab1c529441798e Mon Sep 17 00:00:00 2001 From: Stephan Schroevers Date: Wed, 21 Sep 2022 13:23:02 +0200 Subject: [PATCH] Generate reproducible build output (#243) By deriving `project.build.outputTimestamp` from the timestamp of the most recent commit, the timestamp embedded in generated JARs no longer depends on the exact time at which the artifacts are built. As such repeated executions of `mvn clean install` yield byte-for-byte identical results. This change requires replacing `buildnumber-maven-plugin` with `git-commit-id-maven-plugin`. See https://maven.apache.org/guides/mini/guide-reproducible-builds.html --- pom.xml | 52 ++++++++++++++++++++++++++++------------------------ 1 file changed, 28 insertions(+), 24 deletions(-) diff --git a/pom.xml b/pom.xml index 3ccf2048..298b9d94 100644 --- a/pom.xml +++ b/pom.xml @@ -137,6 +137,9 @@ property allows the `error-prone-fork` profile below to build the project using Picnic's Error Prone fork instead. --> com.google.errorprone + + ${git.commit.time} UTF-8