Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

Apache Felix Commons is a community effort to create OSGi bundle ("bundlized") versions of popular third-party open-source libraries. Today, OSGi users all end up creating developers must create bundles out of various common libraries, so rather than each of us duplicating the effort, we can do it as a community and share third-party libraries within their own development communities. The purpose of Felix Commons is to avoid duplicating the effort of bundle creation by sharing these bundlized artifacts. Our hope is that over time, the original developers of the third-party libraries can use these bundlized libraries to both learn how to add OSGi metadata to their project artifacts and to become comfortable with the overall non-invasive process. Felix Commons is thus a large "project" of POMs where each bundle POM simply has a dependency on the library it wants to convert. The Felix Maven Bundle Plugin will then convert the dependency automatically and the bundle will be available via existing Maven infrastructure.

...

In most cases, creating bundlized versions of a library is as simple as creating a POM file for the library using Felix' new Maven Bundle Plugin. The OSGi headers are non-intrusive. A JAR can be made in such a way that it runs on the Classpath as well as a bundle in an OSGi framework. In short you:

  1. Set the groupId to:
    Code Block
    xml
    xml
    <groupId>org.apache.felix.commons</groupId>
    
  2. Append "-osgi" to the name of the artifact:
    Code Block
    xml
    xml
    <artifactId>FOO-osgi</artifactId>
    
  3. Set the "packaging" to use the Maven Bundle Plugin:
    Code Block
    xml
    xml
    <packaging>bundle</packaging>
    
  4. Set any configuration options in the Maven Bundle Plugin.

We recommend you read the longer steps for converting a library to a bundle.

...

Library

Version

Description

Contributor

Grant OK

Committed

cglib

2.0.2

CGLib

Felix Meschberger

Yes

Yes

commons-beanutils

1.7.0

BeanUtils

Felix Meschberger

Yes

Yes

commons-codec

1.2

Codec

Felix Meschberger

Yes

Yes

commons-configuration

1.3

Configuration

Felix Meschberger

Yes

Yes

commons-digester

1.8

Digester

Felix Meschberger

Yes

Yes

commons-el

1.0

EL

Felix Meschberger

Yes

Yes

commons-fileupload

1.1.1

FileUpload

Felix Meschberger

Yes

Yes

commons-httpclient

3.0.1

HTTPClient Client-side HTTP.

Felix Meschberger

Yes

Yes

commons-io

1.3

IO

Felix Meschberger

Yes

Yes

commons-lang

2.2

Lang

Felix Meschberger

Yes

Yes

antlr

2.7.6

  Parser generator.

John Conlon

  Yes

No Yes

commons-collections

3.2

 

John Conlon

 

No

jdbm

1.0

  Data structures for collections.

John Conlon

  Yes

No Yes

jzlib

1.0.7

  Data compression library.

John Conlon

  Yes

No Yes

commons-logging email

 

 

Tim Moloney

 

1.0

An API for sending email.

Felix Meschberger

Yes

Yes No

Supporting Libraries

These are projects that have expressed support for the Felix Commons initiative and that are working directly within their respective projects to support OSGi.

Project

Description

Supporter(s)

More Information

Spring

 

Adrian Colyer, Andy Piper

Spring-OSGi

SLF4J

 

Ceki Gülcü

SLF4J

Logback

 

Ceki Gülcü

Logback

MINA

NIO framework

Trustin Lee

DIRMINA-27

HTTP Client

Client-side HTTP.

Roland Weber

HTTPCLIENT-639

Apache OFBiz

Enterprise automation.

Christopher Snow

Mailing list archives

Jetty

Servlet engine.

Jan Bartel

Jetty 6.1.5 and onwards uses the 'maven-bundle-plugin'.

Similar Efforts

Eclipse Orbit - http://www.eclipse.org/orbit/Image Removed

... will provide a repository of bundled versions of third party libraries that are approved for use in one or more Eclipse projects.