Hello,
Back in early December we had a discussion with Emil Eifrém, Aaron Siri,
et al about how the new bundle plugin should deal with embedding (as
opposed to inlining) dependent JAR files. Peter and I have finally had
some time to discuss this and have come up with a simple proposal that
we can now submit for some feedback.
The general approach is a slightly modified version of Peter's first
proposal. The idea is to add a mechanism to deal with embedding JARs
that is very similar to how the old maven plugin worked, but doing it in
a slightly more generic way than the old plugin by adding the following
instruction:
embed-dependency ::= clause ( ',' clause ) *
clause ::= MATCH ( ';' attr '=' MATCH )
attr ::= 'groupId' | 'artifactId' | 'version' | 'scope'
MATCH ::= <globbed regular expressions>
This instruction would be used to match the specified Maven dependencies
for embedding. Any matching dependency would have its JAR file embedded
onto the resulting bundle JAR file and it would be appended to the
Bundle-ClassPath header after ".".
This would allow people to easily achieve the same behavior as the old
plugin by simply doing:
<embed-dependency>*;scope=compile,*;scope=runtime</embed-dependency>
Thus, this instruction would automatically embed any maven dependencies
that were of scope "compile" or "runtime" and append them to the bundle
class path.
What do you think?
-> richard