Apache Lucene OSGi Bundles
==========================

Apache Lucene is available as a set of OSGi bundles in the Orbit repository.
However, the packaging as some special requirements because of split-
packages between Lucene Core and some contrib libs. Therefore, the following
bundle layout was created.


org.apache.lucene
-----------------
 
This is the master bundle. It depends on the core bundle (using 
Require-Bundle) and re-exports it for backwards compatibility reasons. 

It also exports all core packages as single packages (without split 
attributes) for backwards compatibility reasons AND to resolve split-
packages. It has optional dependencies on the contrib bundles to properly 
resolve split-packages (Require-Bundle). But it does not re-export the 
contrib bundles.


org.apache.lucene.core
----------------------

This is the core bundle. It's created from the Lucene core jar and only
contains Lucene core. It exports all its packages using split-package
attributes ("..;core=split;mandatory:=core;.."). This allows packages
split across Lucene core and Lucene contrib libs.


org.apache.lucene.<contrib-name>
--------------------------------

This defines a bundle for a Lucene contrib library. Usually, a contrib
bundle has a Require-Bundle dependency on the core bundle. It may have 
additional dependencies to other contrib libs. 

A contrib bundles exports shared/split packages with split-packages
attributes ("..;<contrib-name>=split;mandatory:=<contrib-name>;..") 
but non-split packages without split-packages attributes.

