additionally to the problems with the bnd baseline maven plugin I'm a bit happy 
with the way to express project-level bnd instructions with the 
bnd-maven-plugin, encountered on the branch [1].

1. basically the bnd maven plugin supports both bnd.bnd file and configuration 
via bnd config parameter in the POM (although the latter is not recommended).
- i know the bnd people have their own special view on POM files and XML file 
format and try to put everything outside the POM
- i personally prefer to have those instructions all in the POM, e.g. they are 
then easily detectable also for uploaded libraries with their POM on maven 
central (and not only in the source jar)
- in general it does not seem to be possible to define a "chain" of parts of 
bnd configurations in multiple parent poms, each contributing some aspect
- unlike the maven-bundle-plugin there is only a single "bnd" configuration 
parameter (we are using it in sling-bundle-parent), and it does not seem to 
possible to define additional instructions in the local POM
- or i did something wrong when trying it
- especially if there are multiple parent POMs involved this seems to be a big 
restriction for me

2. sometimes a module has some complex instructions which need line-by-line 
comments to know the reason why they are there
- see [2] for example in caconfig-impl
- this is no longer possible in a bnd file because it breaks the multi line 
syntax with \ in the line endings
- so i ended up collecting the comments above the instructions [3], but this is 
not a good replacement
- is there a better solution?

3. i would like to have back an XML-structured way of defining bnd instructions 
as it was the case in maven-bundle-plugin in bnd-maven-plugin!
- this was easy to document
- and it nicely followed the maven-ways of inheriting and overwriting 
individual parameters

stefan

[1] 
https://github.com/apache/sling-org-apache-sling-caconfig-impl/tree/feature/SLING-8824-parent25
[2] 
https://github.com/apache/sling-org-apache-sling-caconfig-impl/blob/67fe5f95fe35665c30d95302264941715dcc8b60/pom.xml#L51-L59
[3] 
https://github.com/apache/sling-org-apache-sling-caconfig-impl/blob/5cf6a823255434c323060cf50ec51400d57499cd/bnd.bnd#L1-L8


Reply via email to