Zlika/reproducible-build-maven-plugin

Additional strippable manifest headers by configuration

lefou opened this issue · 3 comments

lefou commented

The maven-bundle-plugin (and the underlying bnd tool) typically generates additional manifest entries which are not reproducible.

  • Bnd-LastModified
  • Tool

Example for those entries:

Bnd-LastModified: 1520115124085
Tool: Bnd-3.3.0.201609221906

It looks like the former is already stripped (in v 0.5.0), but the latter is not.

By adding some optional configuration point to configure additional manifest headers to be stripped, the plugin could be easily adapted to other unknown setups.

Zlika commented

The "Tool" entry is reproducible: it only depends on the version of the maven-bnd-plugin used. So as long as you use the same version of this plugin (which is a general requirement if you want to have reproducible builds), this entry is the MANIFEST.MF file will always be the same.

Zlika commented

Hi,
I've just added this feature. You can add something like:

<configuration>
  <manifestAttributes>
     <manifestAttribute>Attribute1</manifestAttribute>
   </manifestAttributes>
</configuration>

to remove "Attribute1" and "Attribute2" attributes in the manifest. Be aware that this feature currently only works for single-line attributes.

thank you