sling-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Julian Sedding <jsedd...@gmail.com>
Subject Re: issues switching to bnd maven plugin
Date Fri, 01 Nov 2019 11:34:15 GMT
Hi Stefan

I agree with your goals, but I think that *should* be possible with
the bnd-maven-plugin. Recently I looked into the source of the plugin
and the documentation suggests that you need to use either bnd
instructions in the pom or a bnd-file (in my understanding that is per
maven module). The instructions from a parent pom are then merged
using custom logic, see [0]. Maybe reading the implementation of
"loadProperties"[1] helps get you unstuck?

Regards
Julian

[0] https://github.com/bndtools/bnd/blob/master/maven/bnd-maven-plugin/src/main/java/aQute/bnd/maven/plugin/BndMavenPlugin.java#L138-L150
[1] https://github.com/bndtools/bnd/blob/master/maven/bnd-maven-plugin/src/main/java/aQute/bnd/maven/plugin/BndMavenPlugin.java#L479-L488

On Fri, Nov 1, 2019 at 11:49 AM Stefan Seifert <sseifert@pro-vision.de> wrote:
>
> 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
>
>

Mime
View raw message