Hi Patrick,

You can create a new bug report regarding this issue. Please mention
bug #75 as a related entry. We really need to find an OSGi expert to
work on SLF4J manifests so that they can be supported on the long
term.

--
Ceki
http://twitter.com/#!/ceki

On 26/10/2011 2:56 PM, Patrik Blommaskog wrote:

When building an Eclipse PDE component using Maven, I specify a dependency to 
slf4j-api in the Maven pom.xml file. In the MANIFEST.MF, I have the line:

   Import-Package: org.slf4j

This gives an error when I build:

   generate:  [eclipse.buildScript] Some inter-plug-in dependencies have not 
been satisfied.  [eclipse.buildScript] Bundle com.mycompany.model:  
[eclipse.buildScript]   Unsatisfied import package org.slf4j_0.0.0.  
[eclipse.buildScript] Bundle slf4j.api:  [eclipse.buildScript]   Unsatisfied 
import package org.slf4j.impl_1.6.0.
Somewhy, the build process seems to pick up the org.slf4j.impl package import 
as specified in the manifest file of the slf4j-api bundle, and sees it as a 
mandatory requirement. As I see it, it shouldn't, since my component can both 
compile and run without any .impl package.
A way to work around this is to include the slf4j-nop bundle in the pom file. 
That one will then satisfy the org.slf4j.impl import. But this creates some 
other issues with non-intuitive transitive dependencies downstream.

What *does* work cleanly - I tested it - is to specify the package import in 
slf4j-api bundle as optional. That is, in the MANIFEST.MF file, the line should 
read:
   Import-Package: org.slf4j.impl;version=1.6.0;resolution:=optional
That way, any build/import process that tries to resolve dependencies can see 
that it is ok to leave it unresolved.
I did find http://bugzilla.slf4j.org/show_bug.cgi?id=75 which touches the issue 
(resolution:=optional is mentioned) but seems to have a larger scope and is 
about an older version of slf4j. I am using 1.6.2.


Now, should I use slf4j in another way to resolve the dependency problem, or 
does it make sense to submit a bug report/change request with my fix?


-Patrik                                         

_______________________________________________
slf4j-user mailing list
[email protected]
http://mailman.qos.ch/mailman/listinfo/slf4j-user

Reply via email to