Hi Stuart,

Found my (ridiculous) problem, sorry I have bothered you. Simply forgot to set 
the <packaging> element as "bundle".

Thanks,
B.

-----Original Message-----
From: Stuart McCulloch [mailto:[email protected]] 
Sent: 17 October 2011 17:19
To: [email protected]
Subject: Re: Hot to configure Maven Bundle plug-in for a mixture of OSGi and 
non OSGi dependencies

On 17 Oct 2011, at 17:01, Barbara Rosi-Schwartz wrote:

> I mean that I don't see the actual "third party" dependencies being embedded 
> in the foo-bar.jar file. The manifest appears to be correct.

If you want to see the instructions sent to bnd and the results passed back you 
can use "mvn -X install" ... pipe the output to a file and search for BND. That 
should show whether the processed Include-Resource instruction sent to bnd has 
those "third party" dependencies (feel free to paste the bnd log into a reply 
if you want this checked). BTW, are you just excluding a single artifact from 
being embedded or several? Could you paste your bnd instructions into an email?

Otherwise consider attaching a test project to an issue on JIRA... if I use the 
"!foo-baz;scope=compile|runtime" form I see the expected results in the 
manifest and jar file.

> -----Original Message-----
> From: Stuart McCulloch [mailto:[email protected]] 
> Sent: 17 October 2011 16:51
> To: [email protected]
> Subject: Re: Hot to configure Maven Bundle plug-in for a mixture of OSGi and 
> non OSGi dependencies
> 
> On 17 Oct 2011, at 16:46, Barbara Rosi-Schwartz wrote:
> 
>> Hi Stuart, when I run the Maven Bundle plug-in with your suggested 
>> modification, I do not see the embedded dependencies in the generated jar. 
>> Is there another trick to it? ;-)
> 
> Do you mean you don't see any embedded dependency, or that it correctly 
> excludes the foo-baz dependency?
> 
> I got the expected results locally using 
> <Embed-Dependency>!foo-baz;scope=compile|runtime</Embed-Dependency> and 
> bundleplugin 2.3.5
> 
>> Thanks!
>> B.
>> 
>> -----Original Message-----
>> From: Stuart McCulloch [mailto:[email protected]] 
>> Sent: 17 October 2011 12:55
>> To: [email protected]
>> Subject: Re: Hot to configure Maven Bundle plug-in for a mixture of OSGi and 
>> non OSGi dependencies
>> 
>> On 17 Oct 2011, at 10:03, Barbara Rosi-Schwartz wrote:
>> 
>>> Hello.
>>> 
>>> I am using the Maven Bundle plug-in to OSGi-ify dependencies that we have 
>>> on another team's jars. These jars in turn have their own dependencies, 
>>> some of which I have already OSGi-ified, whereas others are third parties 
>>> ones which I would just like to embed in the generated bundles.
>>> 
>>> Let's assume that the jar I want to OSGi-ify is artefact foo-bar and that 
>>> it contains a bunch of third party dependencies + a dependency on artefact 
>>> foo-baz, which I have already OSGi-ified.
>>> 
>>> To this aim I configure my Maven Bundle plug-in as follows:
>>> 
>>> <configuration>
>>> <instructions>
>>>  <Export-Package>com.foo.bar.*</Export-Package>
>>>  <Bundle-Version>${parent.version}</Bundle-Version>
>>>  <Import-Package>com.foo.baz.client</Import-Package>
>>>  <Embed-Dependency>!foo-baz,*;scope=compile|runtime</Embed-Dependency>
>>> </instructions>
>>> </configuration>
>>> 
>>> The generated com.foo.bar's MANIFEST.MF does contain the expected 
>>> Import-Package clause, but it also contains foo-baz.jar in the 
>>> Bundle-ClassPath clause, which is not what I want. I have tried several 
>>> permutation of the <Embed-Dependency> specification, but to no avail.
>>> 
>>> How do I correctly specify the instructions to achieve my goal?
>> 
>> Hi B,
>> 
>> At the moment the Embed-Dependency clauses are processed independently when 
>> they're mapped to bnd instructions (Include-Resource and Bundle-ClassPath).
>> 
>> So "!foo-baz, *;scope=compile|runtime" is actually processed as:
>> 
>>  !foo-baz                                  -->        embed any dependency 
>> whose artifactId is not foo-bar
>> 
>>  *;scope=compile|runtime        -->        embed any compile/runtime scope 
>> dependency
>> 
>> Unfortunately this is different to how bnd processes negative Import-Package 
>> clauses, which I agree is confusing - if you raise an issue for this at 
>> https://issues.apache.org/jira/browse/FELIX/component/12311143 I'll look 
>> into fixing this. Note that if you just use positive clauses then you won't 
>> encounter this problem.
>> 
>> Meanwhile, as a workaround you can use:
>> 
>>  <Embed-Dependency>!foo-baz;scope=compile|runtime</Embed-Dependency>
>> 
>> which because it's one clause will achieve the desired result.
>> 
>> You can't easily extend this to exclude more than one artifactId, but in 
>> that case you could perhaps deploy your OSGi and non-OSGi artifacts under 
>> different groups and use the groupId to selectively embed only non-OSGi 
>> artifacts:
>> 
>>  <Embed-Dependency>groupId=!foo-osgi;scope=compile|runtime</Embed-Dependency>
>> 
>> Or as Neil suggested, you could look into converting those dependencies into 
>> individual OSGi bundles.
>> 
>> --
>> Cheers, Stuart
>> 
>>> TIA,
>>> B.
>>> 
>>> BARBARA ROSI-SCHWARTZ
>>> Senior Developer
>>> 
>>> IG Group|Cannon Bridge House
>>> 25 Dowgate Hill|London|EC4R ZYA
>>> 
>>> t: +44(0)20 7573 0208 (Direct)
>>> t: +44(0)20 7896 0011 (Switchboard)
>>> w: www.iggroup.com
>>> 
>>> 
>>> ________________________________
>>> The information contained in this email is strictly confidential and for 
>>> the use of the addressee only, unless otherwise indicated. If you are not 
>>> the intended recipient, please do not read, copy, use or disclose to others 
>>> this message or any attachment. Please also notify the sender by replying 
>>> to this email or by telephone (+44 (0)20 7896 0011) and then delete the 
>>> email and any copies of it. Opinions, conclusions (etc) that do not relate 
>>> to the official business of this company shall be understood as neither 
>>> given nor endorsed by it. IG Group Holdings plc is a company registered in 
>>> England and Wales under number 01190902. VAT registration number 761 2978 
>>> 07. Registered Office: Cannon Bridge House, 25 Dowgate Hill, London EC4R 
>>> 2YA. Authorised and regulated by the Financial Services Authority. FSA 
>>> Register number 114059.
>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>> 
>> 
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: [email protected]
>> For additional commands, e-mail: [email protected]
>> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to