[BEAM-2727] Make beam builds reproducible#3685
[BEAM-2727] Make beam builds reproducible#3685iemejia wants to merge 3 commits intoapache:masterfrom
Conversation
|
R: @kennknowles |
3d0e230 to
892fd27
Compare
| <executions> | ||
| <execution> | ||
| <goals> | ||
| <goal>strip-jar</goal> |
There was a problem hiding this comment.
Can you describe the differences to the jar? I tried a little of this a while ago and was not sure about what was OK to remove.
There was a problem hiding this comment.
Well the thing is that java adds timestamps in some of the jar elements, e.g. the MANIFEST file and in some cases in the files that are updated with last modification date. The plugin covers these and other cases, you can take a look at the presentation he did (is really short) for some more detail. https://zlika.github.io/presentations/devoxx_fr_2016/reproducible-builds/slides_en.html#/_pom_properties
kennknowles
left a comment
There was a problem hiding this comment.
Seems generally good to me. I mostly am concerned about the maintenance of the plugin, having a dependency, etc. And I am not so expert in Maven so it would be good to solicit feedback from e.g. @davorbonaci. But I am comfortable merging and if anything goes wrong, we just revert.
I would only want to revert the part using the reproducible build plugin, but keep the changes for javadoc and the changes to the Java test. Consider splitting the commits so we can revert just the one. But it is easy enough to manually alter the pom so I am not that worried.
| } | ||
|
|
||
| // delete the directory to not let stuff around after the test execution | ||
| FileUtils.deleteDirectory(baseDir); |
There was a problem hiding this comment.
Probably this should use @Rule TemporaryFolder
This enables the Maven reproducible-build plugin that strips tiemstamps and other information to achieve reproducible builds.
This makes the javadoc reproducible.
892fd27 to
b8eddd2
Compare
|
I agree with you, I have some preference for more community maintained plugins however this one makes the job and I reported one issue that was fixed and released really quickly so I think we can give it a try. |
|
LGTM. Be sure to mention this when the next release thread comes up, as I guess if anything is going to show up as a problem, it will be in the built artifacts then. |
Follow this checklist to help us incorporate your contribution quickly and easily:
[BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replaceBEAM-XXXwith the appropriate JIRA issue.mvn clean verifyto make sure basic checks pass. A more thorough check will be performed on your pull request automatically.