Ceki, Hugues,

Any comments on my work?
Should I proceed that way for the other modules?

Heiko

On 16 September 2010 10:11, Heiko Seeberger <heiko.seeberger@googlemail.com> wrote:
Folks,

My first shot at OSGi work for slf4j-api can be taken from here (not yet ready for pulling into the main repo):
http://github.com/weiglewilczek/slf4j/tree/osgi

Now the Felix Bundle plugin creates the manifest. It looks like below (not the plain manifest, but the output of analyzing with BND). As you can see all the issues I recently brought up are addressed, e.g. naming convention for Bundle-Symbolicname, execution environment bumped up to 1.4, etc. 

As all the logging backends are fragments I excluded org.slf4j.impl package from imported packages. This means you can install the slf4j-api bundle in an OSGi container successfully without a backend. Not sure whether this is what we want.

Very important: The whole build still succeeds.

What do you think? Can we proceed this way?

Heiko


slf4j$ bnd print slf4j-api/target/slf4j-api-1.6.2-SNAPSHOT.jar 
+++ Starting BND +++
[MANIFEST slf4j-api-1.6.2-SNAPSHOT.jar]
Bnd-LastModified                        1284623539661                           
Build-Jdk                               1.6.0_20                                
Built-By                                hseeberger                              
Bundle-Description                      The slf4j API                           
Bundle-DocURL                           http://www.qos.ch                       
Bundle-License                          http://www.opensource.org/licenses/mit-license.php
Bundle-ManifestVersion                  2                                       
Bundle-Name                             SLF4J API Module                        
Bundle-RequiredExecutionEnvironment     J2SE-1.4                                
Bundle-SymbolicName                     org.slf4j.api                           
Bundle-Vendor                           QOS.ch                                  
Bundle-Version                          1.6.2.SNAPSHOT                          
Created-By                              Apache Maven Bundle Plugin              
Export-Package                          org.slf4j.spi;uses:="org.slf4j";version="1.6.2.SNAPSHOT",org.slf4j.helpers;uses:="org.slf4j.spi,org.slf4j";version="1.6.2.SNAPSHOT",org.slf4j;uses:="org.slf4j.helpers,org.slf4j.spi";version="1.6.2.SNAPSHOT"
Ignore-Package                          org.slf4j.impl                          
Implementation-Title                    slf4j-api                               
Import-Package                          org.slf4j;version="[1.6.2.SNAPSHOT,1.7)",org.slf4j.helpers;version="[1.6.2.SNAPSHOT,1.7)",org.slf4j.spi;version="[1.6.2.SNAPSHOT,1.7)"
Manifest-Version                        1.0                                     
Tool                                    Bnd-0.0.357                             

[IMPEXP]
Export-Package
  org.slf4j                             {version=1.6.2.SNAPSHOT}
  org.slf4j.helpers                     {version=1.6.2.SNAPSHOT}
  org.slf4j.spi                         {version=1.6.2.SNAPSHOT}

[USES]
org.slf4j                               org.slf4j.helpers
                                        org.slf4j.impl
                                        org.slf4j.spi
org.slf4j.helpers                       org.slf4j
                                        org.slf4j.spi
org.slf4j.spi                           org.slf4j




--
Heiko Seeberger

Company: weiglewilczek.com
Blog: heikoseeberger.name
Follow me: twitter.com/hseeberger
OSGi on Scala: scalamodules.org
Lift, the simply functional web framework: liftweb.net
Akka - Simpler Scalability, Fault-Tolerance, Concurrency & Remoting through Actors: akkasource.org