blob: f9c9cddf69ec9f8a2e54300530cabe7f368f98d5 [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<head>
<title>Apache Felix - Apache Felix Commons</title>
<link rel="icon" href="/res/favicon.ico">
<link rel="stylesheet" href="/res/site.css" type="text/css" media="all">
<link rel="stylesheet" href="/res/codehilite.css" type="text/css" media="all">
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
</head>
<body>
<div class="title">
<div class="logo">
<a href="https://felix.apache.org/">
<img border="0" alt="Apache Felix" src="/res/logo.png">
</a>
</div>
<div class="header">
<a href="https://www.apache.org/">
<img border="0" alt="Apache" src="/res/apache.png">
</a>
</div>
</div>
<div class="menu">
<style type="text/css">
/* The following code is added by mdx_elementid.py
It was originally lifted from http://subversion.apache.org/style/site.css */
/*
* Hide class="elementid-permalink", except when an enclosing heading
* has the :hover property.
*/
.headerlink, .elementid-permalink {
visibility: hidden;
}
h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
<p><a href="/news.html">News</a> <br />
<a href="/license.html">License</a> <br />
<a href="/downloads.cgi">Downloads</a> <br />
<a href="/documentation.html">Documentation</a> <br />
<a href="/documentation/community/project-info.html">Project Info</a> <br />
<a href="/documentation/community/contributing.html">Contributing</a> <br />
<a href="/sitemap.html">Site Map</a> <br />
<a href="https://www.apache.org/">ASF</a> <br />
<a href="https://www.apache.org/security/">Security</a> <br />
<a href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a> <br />
<a href="https://www.apache.org/foundation/thanks.html">Sponsors</a> </p>
<iframe
src="https://www.apache.org/ads/button.html"
style="border-width:0; float: left"
frameborder="0"
scrolling="no"
width="135"
height="135">
</iframe>
</div>
<div class="main">
<div class="breadcrump" style="font-size: 80%;">
<a href="/">Home</a>&nbsp;&raquo&nbsp;<a href="/documentation.html">Documentation</a>
</div>
<h1>Apache Felix Commons</h1>
<style type="text/css">
/* The following code is added by mdx_elementid.py
It was originally lifted from http://subversion.apache.org/style/site.css */
/*
* Hide class="elementid-permalink", except when an enclosing heading
* has the :hover property.
*/
.headerlink, .elementid-permalink {
visibility: hidden;
}
h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
<h3 id="purpose">Purpose<a class="headerlink" href="#purpose" title="Permanent link">&para;</a></h3>
<p>Apache Felix Commons is a community effort to create OSGi bundle ("bundlized") versions of popular third-party open-source libraries. Today, OSGi developers must create bundles out of 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 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.</p>
<p>This web page will be used to document who is doing what and to provide pointers to more information.</p>
<h3 id="how-can-i-help">How Can I Help?<a class="headerlink" href="#how-can-i-help" title="Permanent link">&para;</a></h3>
<p>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 <a href="http://issues.apache.org/jira/browse/Felix">Felix JIRA issue</a> under the "Felix Commons" component. For Apache purposes, contributing a bundle POM is the same as contributing code.</p>
<h3 id="getting-started">Getting Started<a class="headerlink" href="#getting-started" title="Permanent link">&para;</a></h3>
<p>In most cases, creating bundlized versions of a library is as simple as creating a POM file for the library using Felix' new <a href="/documentation/subprojects/apache-felix-maven-bundle-plugin-bnd.html">Maven Bundle Plugin</a>. 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:</p>
<div class="codehilite"><pre><span class="nt">&lt;groupId&gt;</span>org.apache.felix.commons<span class="nt">&lt;/groupId&gt;</span>
</pre></div>
<ol>
<li>
<p>Append "-osgi" to the name of the artifact:</p>
<p><artifactId>FOO-osgi</artifactId></p>
</li>
<li>
<p>Set the "packaging" to use the Maven Bundle Plugin:</p>
<p><packaging>bundle</packaging></p>
</li>
<li>
<p>Set any configuration options in the <a href="/documentation/subprojects/apache-felix-maven-bundle-plugin-bnd.html">Maven Bundle Plugin</a>.</p>
</li>
</ol>
<p>We recommend you read the longer <a href="/documentation/subprojects/apache-felix-commons/creating-bundles-using-bnd.html">steps for converting a library to a bundle</a>.</p>
<h3 id="contributions">Contributions<a class="headerlink" href="#contributions" title="Permanent link">&para;</a></h3>
<table class="table">
<thead>
<tr>
<th>Library</th>
<th>Version</th>
<th>Description</th>
<th>Contributor</th>
<th>Grant OK</th>
<th>Committed</th>
</tr>
</thead>
<tbody>
<tr>
<td>cglib</td>
<td>2.0.2</td>
<td>CGLib</td>
<td>Felix Meschberger</td>
<td>Yes</td>
<td>Yes</td>
</tr>
<tr>
<td>commons-beanutils</td>
<td>1.7.0</td>
<td>BeanUtils</td>
<td>Felix Meschberger</td>
<td>Yes</td>
<td>Yes</td>
</tr>
<tr>
<td>commons-codec</td>
<td>1.2</td>
<td>Codec</td>
<td>Felix Meschberger</td>
<td>Yes</td>
<td>Yes</td>
</tr>
<tr>
<td>commons-configuration</td>
<td>1.3</td>
<td>Configuration</td>
<td>Felix Meschberger</td>
<td>Yes</td>
<td>Yes</td>
</tr>
<tr>
<td>commons-digester</td>
<td>1.8</td>
<td>Digester</td>
<td>Felix Meschberger</td>
<td>Yes</td>
<td>Yes</td>
</tr>
<tr>
<td>commons-el</td>
<td>1.0</td>
<td>EL</td>
<td>Felix Meschberger</td>
<td>Yes</td>
<td>Yes</td>
</tr>
<tr>
<td>commons-fileupload</td>
<td>1.1.1</td>
<td>FileUpload</td>
<td>Felix Meschberger</td>
<td>Yes</td>
<td>Yes</td>
</tr>
<tr>
<td>commons-httpclient</td>
<td>3.0.1</td>
<td>Client-side HTTP.</td>
<td>Felix Meschberger</td>
<td>Yes</td>
<td>Yes</td>
</tr>
<tr>
<td>commons-io</td>
<td>1.3</td>
<td>IO</td>
<td>Felix Meschberger</td>
<td>Yes</td>
<td>Yes</td>
</tr>
<tr>
<td>commons-lang</td>
<td>2.2</td>
<td>Lang</td>
<td>Felix Meschberger</td>
<td>Yes</td>
<td>Yes</td>
</tr>
<tr>
<td>antlr</td>
<td>2.7.6</td>
<td>Parser generator.</td>
<td>John Conlon</td>
<td>Yes</td>
<td>Yes</td>
</tr>
<tr>
<td>commons-collections</td>
<td>3.2</td>
<td>Data structures for collections.</td>
<td>John Conlon</td>
<td>Yes</td>
<td>Yes</td>
</tr>
<tr>
<td>jzlib</td>
<td>1.0.7</td>
<td>Data compression library.</td>
<td>John Conlon</td>
<td>Yes</td>
<td>Yes</td>
</tr>
<tr>
<td>commons-email</td>
<td>1.0</td>
<td>An API for sending email.</td>
<td>Felix Meschberger</td>
<td>Yes</td>
<td>Yes</td>
</tr>
</tbody>
</table>
<h3 id="supporting-libraries">Supporting Libraries<a class="headerlink" href="#supporting-libraries" title="Permanent link">&para;</a></h3>
<p>These are projects that have expressed support for the Felix Commons initiative and that are working directly within their respective projects to support OSGi.</p>
<table class="table">
<thead>
<tr>
<th>Project</th>
<th>Description</th>
<th>Supporter(s)</th>
<th>More Information</th>
</tr>
</thead>
<tbody>
<tr>
<td>Spring</td>
<td></td>
<td>Adrian Colyer, Andy Piper</td>
<td><a href="http://www.springframework.org/osgi">Spring-OSGi</a></td>
</tr>
<tr>
<td>SLF4J</td>
<td></td>
<td>Ceki Gülcü</td>
<td><a href="http://www.slf4j.org/">SLF4J</a></td>
</tr>
<tr>
<td>Logback</td>
<td></td>
<td>Ceki Gülcü</td>
<td><a href="http://logback.qos.ch/">Logback</a></td>
</tr>
<tr>
<td>MINA</td>
<td>NIO framework</td>
<td>Trustin Lee</td>
<td><a href="http://issues.apache.org/jira/browse/DIRMINA-27">DIRMINA-27</a></td>
</tr>
<tr>
<td>HTTP Client</td>
<td>Client-side HTTP.</td>
<td>Roland Weber</td>
<td><a href="https://issues.apache.org/jira/browse/HTTPCLIENT-639">HTTPCLIENT-639</a></td>
</tr>
<tr>
<td>Apache OFBiz</td>
<td>Enterprise automation.</td>
<td>Christopher Snow</td>
<td><a href="http://mail-archives.apache.org/mod_mbox/incubator-felix-dev/200704.mbox/%3c8A31258D-1FB4-4F42-A145-94136D750EF0@coralms.com%3e">Mailing list archives</a></td>
</tr>
<tr>
<td>Jetty</td>
<td>Servlet engine.</td>
<td>Jan Bartel</td>
<td>Jetty 6.1.5 and onwards uses the 'maven-bundle-plugin'.</td>
</tr>
<tr>
<td>### Similar Efforts</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>Eclipse Orbit - http://www.eclipse.org/orbit/</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td quote="quote"></td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td>... will provide a repository of bundled versions of third party libraries that are approved for use in one or more Eclipse projects.</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td quote="quote"></td>
<td></td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
<div class="timestamp" style="margin-top: 30px; font-size: 80%; text-align: right;">
Rev. 1700393 by cziegeler on Tue, 1 Sep 2015 06:04:06 +0000
</div>
<div class="trademarkFooter">
Apache Felix, Felix, Apache, the Apache feather logo, and the Apache Felix project
logo are trademarks of The Apache Software Foundation. All other marks mentioned
may be trademarks or registered trademarks of their respective owners.
</div>
</div>
</body>
</html>