improve Reproducible Builds
this won't fix every issue, but improve the situation see https://github.com/jvm-repo-rebuild/reproducible-central/blob/master/content/org/apache/activemq/README.md
@hboutemy what is the problem you are experiencing w/ builds not being reproducible?
in the reproducible-central page, there are link to diffoscope results that show the different problems found, for example https://github.com/jvm-repo-rebuild/reproducible-central/blob/master/content/org/apache/activemq/activemq-parent-5.17.0.diffoscope
to me, once this PR is merged, the only non-reproducible bits are a stupid timestamp, I'll need to chase in Spring later
├── META-INF/spring.handlers
│ @@ -1,3 +1,3 @@
│ #Generated by xbean-spring
│ -#Thu May 05 08:24:00 CEST 2022
│ +#Thu May 05 08:25:21 CEST 2022
to me, once this PR is merged, the only non-reproducible bits are a stupid timestamp, I'll need to chase in Spring later
├── META-INF/spring.handlers │ @@ -1,3 +1,3 @@ │ #Generated by xbean-spring │ -#Thu May 05 08:24:00 CEST 2022 │ +#Thu May 05 08:25:21 CEST 2022
FYI00 You might need to run this one down via xbean project, and not spring.
@hboutemy would you please rebase against main and squash your commits? I'd think this would be good to get going in 5.18.x
FYI00 You might need to run this one down via xbean project, and not spring.
yes, https://issues.apache.org/jira/browse/XBEAN-335 created
@hboutemy would you please rebase against main and squash your commits? I'd think this would be good to get going in 5.18.x
@mattrpav done, with workarounds for plugins injecting timestamps: we should be ok for full Reproducible Builds with 5.18.0
you can easily check reproducibility befaore and after the change by running
mvn clean install -DskipTests -Papache-release -Dgpg.skip -Dmaven.javadoc.skip && mvn clean package artifact:compare -DskipTests -Papache-release -Dgpg.skip -Dmaven.javadoc.skip
and checking artifact:compare (= the last plugin) output
@mattrpav PR rebased