Stuart,

Not sure I totally understand your suggestion...

Are you saying that you would be willing to work on the proposal or are you saying that you have an alternative proposal?

Ultimately, I think that we should support embedding dependency JAR files directly from Bundle Plugin since this is a feature of OSGi and it does really simplify some cases, but I think that the approach should be explicit which JARs are embedded...the old plugin tried to leverage the scope concept for embedding but that was confusing. The proposal makes it very explicit, which is what I like...

-> richard

Stuart McCulloch (JIRA) wrote:
[ https://issues.apache.org/jira/browse/FELIX-308?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12506523 ]
Stuart McCulloch commented on FELIX-308:
----------------------------------------

I provide a semi-programmatic way of embedding jars over at Pax-Construct which 
could be modified to work inside the bundle-plugin, without the need to modify 
poms or use the Pax-Construct project layout.

However, I'm about to leave for a 3 week trip to the UK visiting relatives, so 
won't have much time to spend on this - but can provide advice/support and 
would be willing to help with coding once I'm back in Malaysia.

Add support for embedding dependency JAR files to bundle plugin
---------------------------------------------------------------

                Key: FELIX-308
                URL: https://issues.apache.org/jira/browse/FELIX-308
            Project: Felix
         Issue Type: New Feature
         Components: Maven Bundle Plugin
           Reporter: Richard S. Hall

The following is a proposal for how to support embedding dependency JAR files 
in the bundle plugin. The general approach is a slightly modified version of a 
proposal by Peter Kriens. 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.

Reply via email to