Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Jira
serverASF JIRA
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyMNG-6276

https://reproducible-builds.org/ Reproducible builds are a set of software development practices that create a verifiable path from human readable source code to the binary code used by computers

How?

First, the build system needs to be made entirely deterministic: transforming a given source must always create the same result. Typically, the current date and time must not be recorded and output always has to be written in the same order.

Second, the set of tools used to perform the build and more generally the build environment should either be recorded or pre-defined.

Third, users should be given a way to recreate a close enough build environment, perform the build process, and verify that the output matches the original build.

...

"Parent" issue
issue trackingdescriptionMNG-6276
MSHARED-661maven-archiver adds "Built-By" and "Built-Jdk" Manifest entries
MSHARED-494Timestamp in pom.properties
 support SOURCE_DATE_EPOCH environment variable or equivalent: see https://reproducible-builds.org/docs/timestamps/
MPLUGIN-261before (fixed in maven-plugin-plugin 3.3), generated plugin.xml is non-deterministic
MPLUGIN-326Timestamp in plugin.xml and plugin-help.xml descriptors generated by maven-plugin-tools-generator
codehaus-plexus/plexus-archiver issue #48avoid timestamp issues in archives created by plexus-archiver (widely used in Maven plugins creating jar, zip, war, tar... archives)
codehaus-plexus/plexus-containers issue #8sort components when generating META-INF/plexus/components.xml