Versions Compared

Key

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

( short link: https://s.apache.org/reproducible-builds )

Page properties


Status

 

Status
colourBlue
titleWIP
works with usual plugins, but the list of unusual plugins to fix is endless...

Versionunrelated to Maven itself, see plugins versions
Issue(s)
Jira
serverASF JIRA
columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
serverId5aa69414-a9e9-3523-82ec-879b028fb15b
keyMNG-6276
Sources
Developer(s)


...

issue trackingdescription
MSHARED-661 ((tick) maven-archiver 3.4.0)

META-INF/MANIFEST.MF

MSHARED-796 ((tick) maven-archiver-3.4.0)

META-INF/MANIFEST.MF
MSHARED-494 ((tick) maven-archiver 3.1.0)META-INF/maven/$groupId/$artifactId/pom.properties
MSHARED-800 (tick)META-INF/maven/$groupId/$artifactId/pom.properties
MPLUGIN-261 ((tick) maven-plugin-plugin 3.3)META-INF/maven/plugin.xml
MPLUGIN-326 ((tick) maven-plugin-plugin 3.5.1)META-INF/maven/plugin.xml
META-INF/maven/$groupId/$artifactId/plugin-help.xml
plexus-containers issue #8 ((tick) plexus-component-metadata 2.0.0)
META-INF/plexus/components.xml
plexus-containers issue #27 ((tick) plexus-component-metadata 2.1.0)META-INF/plexus/components.xml
bnd-maven-plugin #3521 ((tick) bnd-maven-plugin configuration)META-INF/MANIFEST.MF
FELIX-6269 ((tick) maven-bundle-plugin:manifest & bundle 4.2.2)META-INF/MANIFEST.MF
FELIX-6203 ((tick) maven-bundle-plugin:bundle 4.2.2)META-INF/maven/$groupId/$artifactId/pom.properties
sisu-maven-plugin PR#5 ((tick) sisu.inject 0.3.4)META-INF/sisu/javax.inject.Named
MRRESOURCES-114 ((tick) maven-remote-resources-plugin 1.7.0)projectTimespan, as often printed in META-INF/NOTICE
JDK-8240734 ((tick)JDK 15)module-info.class
zip entries timestamp and order
COMPRESS-485 ((tick) commons-compress 1.19)keep entries order when gathering ParallelScatterZipCreator
plexus-archiver issue #48, PR #49 ((tick) plexus-archiver 4.2.1)avoid timestamp issues in archives created by plexus-archiver (widely used in Maven plugins creating jar, zip, war, tar... archives)
plexus-archiver issue #114 ((tick) plexus-archiver 4.2.0)To enable reproducible builds `AbstractArchiver#addFileSet` should add the files in order

MSHARED-837 ((tick) maven-archiver 3.5.0)

support SOURCE_DATE_EPOCH environment variable or equivalent: see https://reproducible-builds.org/docs/timestamps/

=> see "Output Archive Entries Timestamp" section of the proposal


remove variation based on user's umask on Unixes
plexus-archiver #124 ((tick) plexus-archiver 4.2.0)remove variation based on uid/gid & userName/groupName in tar
MSOURCES-120 ((tick) maven-source-plugin 3.2.0)apply reproducible zip (entries order and timestamp) to maven-source-plugin
MASSEMBLY-921 ((tick) maven-assembly-plugin 3.2.0)apply reproducible archive (entries order and timestamp) to maven-assembly-plugin
MJAR-263 ((tick) maven-jar-plugin 3.2.0)apply reproducible zip (entries order and timestamp) to maven-jar-plugin
MSITE-851 ((tick) maven-site-plugin 3.9.0)apply reproducible zip (entries order and timestamp) to site:jar 
MJAVADOC-627 ((tick) maven-javadoc-plugin 3.2.0)apply reproducible zip (entries order and timestamp) to javadoc:*jar 
MSHADE-347 ((tick) maven-shade-plugin 3.2.2)apply reproducible zip (entries order and timestamp) to shade:shade
MSHADE-352 ((tick) maven-shade-plugin 3.2.3)keep reproducible timestamp when shading with transformer
ARCHETYPE-590 ((tick) maven-archetype-plugin 3.2.0)apply reproducible zip (entries order and timestamp) to archetype:jar 
MWAR-432 ((tick) maven-war-plugin 3.3.0)apply reproducible zip (entries order and timestamp) to war:jar 
MACR-53 ((tick) maven-acr-plugin 3.2.0)
MEAR-280 ((tick) maven-ear-plugin 3.1.0)
MEJB-128 ((tick) maven-ejb-plugin 3.1.0)
MRAR-86 ((tick) maven-rar-plugin 3.0.0)
MJLINK (maven-jlink-plugin)
issues fixed in maven-archiver will have to be picked by 9 other plugins managed by Apache Maven team (acr, ear, ejb, jlink, rar) and perhaps other plugins managed outside Apache Maven team
FELIX-6304 ((tick) maven-bundle-plugin:bundle 5.1.1)order and timestamp of jar entries for bundle goal
FELIX-6404 ((tick) maven-bundle-plugin 5.1.3)regression in 5.1.2
FELIX-6495 ((tick)maven-bundle-plugin 5.1.4)bundle:manifest adds Bnd-LastModified even if outputTimestamp is defined
FELIX-6496 (maven-bundle-plugin 5.1.5)
require bnd #5021(6.2)

non-reproducible Export-Package and Private-Package values

spring-boot-maven-plugin:repackage #20176 ((tick) 2.3.0-M4)timestamp
jandex-maven-plugin #26 ((tick) 1.1.1)unsorted files (notice: not sure that sorting files at plugin level is sufficient: it seems Jandex indexer itself produces non-reproducible output)
jandex-maven-plugin #35jandex.idx output is not stable/reproducible
MJAR-275

outputTimestamp not applied to module-info.class

ServiceMix generate-dependstimestamp in generated depends.txt
karaf-maven-plugin:kardoes not take outputTimestamp into account

Debian approach

Debian has a strong reproducible builds structure working on the topic for a few years: see BuildinfoFiles for environment info recording.

...