
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