fusesource / jansi

Jansi is a small java library that allows you to use ANSI escape sequences to format your console output which works even on windows.
http://fusesource.github.io/jansi/
Apache License 2.0
1.11k stars 140 forks source link

JAnsi 2.2.0 release is not fully reproducible #192

Closed hboutemy closed 3 years ago

hboutemy commented 3 years ago

after work for 2.1.1 release in #185, situation has improved: there is now only 1 single little issue, see diffoscope result in https://github.com/jvm-repo-rebuild/reproducible-central/blob/master/content/org/fusesource/jansi/jansi/jansi-2.2.0.diffoscope

Why is there this Originally-Created-By: Apache Maven Bundle Plugin entry in META-INF/MANIFEST.MF in the reference build? How was it done? Is there an addition to the command defined in buildspec to get this entry? current command is mvn -Prelease clean package -DskipTests -Dmaven.javadoc.skip -Dgpg.skip, see https://github.com/jvm-repo-rebuild/reproducible-central/blob/master/content/org/fusesource/jansi/jansi/jansi-2.2.0.buildspec

gnodet commented 3 years ago

The problems seems to come from the maven-bundle-plugin, see https://github.com/bndtools/bnd/blob/49a13e35b488e21100ecfb7e157e69f03f3e23cd/biz.aQute.bndlib/src/aQute/bnd/osgi/Analyzer.java#L1786-L1810 When running from a clean state, this entry is not present in the manifest. However, on subsequent runs, the manifest seems to be merged with the existing manifest and this entry is created. I'll force the removal of this entry in the plugin's configuration.