diabonas opened a new pull request #9: URL: https://github.com/apache/commons-parent/pull/9
[Bnd](https://github.com/bndtools/bnd)/[maven-bundle-plugin](https://felix.apache.org/documentation/subprojects/apache-felix-maven-bundle-plugin-bnd.html) adds a couple of extra manifest headers like `Bnd-LastModified` recording information about the build. This makes it harder to reproduce the JAR bit for bit on a different machine. The [documented way](https://github.com/bndtools/bnd/blob/cc61fa32da6b779a9607d02b78c2052015493eb6/maven/bnd-maven-plugin/README.md#reproducible-builds) to remove these is the `-noextraheaders: true` instruction. Even after applying this instruction, JARs still include a `Include-Resource` header, whose ordering appears to be file system dependent. It is removed in `maven-bundle-plugin` by default, but the [existing `<_removeheaders>` tag](https://github.com/apache/commons-parent/blob/b39108aba84b93b5b57b8bdc6c934fbadd98521f/pom.xml#L902) overrides this. Use merged properties to add headers to be removed instead of replacing the list, as suggested upstream by @rotty3000 in https://github.com/bndtools/bnd/issues/4221#issuecomment-656258021. This was originally proposed for commons-lang in https://github.com/apache/commons-lang/pull/578, also see the discussion there as well as upstream in https://github.com/bndtools/bnd/issues/4221. Since the problematic `<_removeheaders>` is in commons-parent and other commons-* projects may profit from reproducible builds as well, this seems to be the appropriate place to fix the issue. ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected]
