[ 
https://issues.apache.org/jira/browse/FELIX-308?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Stuart McCulloch updated FELIX-308:
-----------------------------------

    Description: 
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|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.

  was:
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.


updated example to correctly match OSGi parsing scheme (otherwise the 
'scope=compile' and 'scope=runtime' attributes on two identical clauses will 
clash when they are merged during parsing).

> 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
>         Attachments: FELIX_308_EMBED_SUPPORT_20070803.txt
>
>
> 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|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.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to