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

Stuart McCulloch resolved FELIX-526.
------------------------------------

    Resolution: Fixed

Fixed in trunk, just deployed a new snapshot for testing purposes: 
maven-bundle-plugin-1.4.1-20080401.065838-3.jar

> Allow a mechanism to give preference to local resources over the ones from 
> embedded jars
> ----------------------------------------------------------------------------------------
>
>                 Key: FELIX-526
>                 URL: https://issues.apache.org/jira/browse/FELIX-526
>             Project: Felix
>          Issue Type: Improvement
>          Components: Maven Bundle Plugin
>    Affects Versions: maven-bundle-plugin-1.4.0
>         Environment: JDK 5 on OpenSolaris/x86
>            Reporter: Sahoo
>            Assignee: Stuart McCulloch
>             Fix For: maven-bundle-plugin-1.4.1
>
>
> Please see the following email discussion between me and Stuart. It happened 
> on [EMAIL PROTECTED] alias on 31 Mar 2008 with the subject that reads like 
> this:
> [maven-bundle-plugin] How to stop exporting a resource from an inlined jar?
> On 31/03/2008, Sahoo <[EMAIL PROTECTED]> wrote:
> > >
> > > Hi,
> > >
> > > I am trying to use maven-bundle-plugin v1.4.0. I prepare a bundle (say
> > > bundle.jar) which inlines the contents of another jar type artifact
> > > called javax.faces:jsf-impl. There is a resource called
> > > META-INF/services/com.sun.faces.spi.injectionprovider which is present
> > > both in the jsf-impl.jar as well in current project's src/main/resources
> > > area. I want to package the one that's in our workspace. So, I
> > > configured the plugin like this:
> > >
> > > <configuration>
> > >     <Embed-Dependency>
> > >     *;groupId=javax.faces;artifactId=jsf-impl;inline=true
> > >     </Embed-Dependency>
> > >
> > >     <!-- Package everything from the embedded jar in the
> > >        final bundle except the following file which
> > >        we maintain in our src/main/resources dir:
> > >        META-INF/services/com.sun.faces.spi.injectionprovider
> > >     -->
> > >     <_exportcontents>
> > >      !META-INF/services/com.sun.faces.spi.injectionprovider,*
> > >     </_exportcontents>
> > > </configuration>
> > >
> > > Yet, I see the resource that is being packaged in the bundle is the one
> > > from jsf-impl.jar and not from target/classes/... area. What am I doing
> > > wrong?
> currently embedded dependencies are added to the Include-Resource
> statement after the maven resources - unfortunately this means that any
> inlined entries will overwrite local entries, which isn't optimal  :( 
> I'll change this ordering round in 1.4.1 (open a JIRA issue to remind me)
> you'll also be able to customize the Include-Resource better in 1.4.1, eg:
>    <Include-Resource>
>       {maven-dependencies},some-file,{maven-resources},another-file
>    </Include-Resource>
> where {maven-dependencies} and {maven-resources} expand to the list of
> embedded entries and maven resources respectively - you can already do
> this to some extent with 1.4.0, but there's a bug on Windows with replacing
> the "{maven-dependencies}" token...
> so the workaround with 1.4.0 would be to use something like this in place
> of the Embed-Dependency - you'll need to list each dependency explicitly
> using @artifactId-version.jar to inline it (this is what Embed-Dependency
> does under the covers) for example:
>    <Include-Resource>
>       @jsf-impl-1.2-b19.jar,{maven-resources}
>    </Include-Resource>
> will inline the JSF jar and then overlay resources from the current project
> HTH

-- 
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