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

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

    Attachment: FELIX_308_EMBED_SUPPORT_20070822.txt

Latest patch: FELIX_308_EMBED_SUPPORT_20070822.txt

Added more filters: can now filter on type, classifier and optional (ie. 
<isOptional>...)

Fixed version filter to use the 'selected' version, if available, such as 
0.1.0-SNAPSHOT
instead of the locally resolved version with build number: 
0.1.0-20070713.220633-1

Also added default values for where fields may be null (ie. for scope null is 
"compile")

Lastly, updated pom to use the latest version of bndlib (0.0.189) which has not 
yet
reached the central repo - once this is there, I hope to apply this patch and 
make a
new deployment of the bundleplugin.

I am sure you are already aware, but if not...

You can open an issue in http://jira.codehaus.org/browse/MAVENUPLOAD to request an upload of a new BND version.

-> richard

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
           Assignee: Stuart McCulloch
        Attachments: FELIX_308_EMBED_SUPPORT_20070803.txt, 
FELIX_308_EMBED_SUPPORT_20070806.txt, FELIX_308_EMBED_SUPPORT_20070822.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.

Reply via email to