You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 17 Next »

Purpose

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 bundles out of various common libraries, so rather than each of us duplicating the effort, we can do it as a community and share 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.

This web page will be used to document who is doing what and to provide pointers to more information.

How Can I Help?

If you have libraries you have turned into bundles, then you can offer to contribute them. Additionally, you may request that a certain bundle be created. If you wish to submit a POM file for a specific library, you can attach it to a Felix JIRA issue under the "Felix Commons" component. For Apache purposes, contributing a bundle POM is the same as contributing code.

Getting Started

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:
    <groupId>org.apache.felix.commons</groupId>
    
  2. Append "-osgi" to the name of the artifact:
    <artifactId>FOO-osgi</artifactId>
    
  3. Set the "packaging" to use the Maven Bundle Plugin:
    <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.

Contributions

These are the recorded contributions:

Library

Description

Contributor

Grant OK

Committed

BeanUtils

 

Felix Meschberger

 

No

Codec

 

Felix Meschberger

 

No

Collections

 

Felix Meschberger

 

No

Configuration

 

Felix Meschberger

 

No

Digester

 

Felix Meschberger

 

No

EL

 

Felix Meschberger

 

No

FileUpload

 

Felix Meschberger

 

No

HTTPClient

 

Felix Meschberger

 

No

IO

 

Felix Meschberger

 

No

Lang

 

Felix Meschberger

 

No

CGLib

 

Felix Meschberger

 

No

antlr (2.7.6)

 

John Conlon

 

No

commons-collections (3.2)

 

John Conlon

 

No

commons-lang (2.1)

 

John Conlon

 

No

commons-logging

 

Tim Moloney

 

No

Send comments to the felix dev list: felix-dev@incubator.apache.org.

Similar Efforts

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

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

  • No labels