Java Reference
In-Depth Information
THE FELIX OBR REPOSITORY
As well as providing a repository implementation, the Felix
OBR
project hosts a repos-
itory of around three hundred Felix bundles. Unlike most other public repositories,
the Felix repository includes information about service requirements and capabilities.
It can be accessed at
http://felix.apache.org/obr/releases.xml
.
THE APACHE SIGIL REPOSITORY
The Apache Felix Sigil project offers enriched
OBR
metadata for bundles hosted by
SpringSource in the SpringSource Enterprise Bundle Repository (
EBR
).
THE KNOPFLERFISH BUNDLE REPOSITORY
Knopflerfish is another open source implementation of the
OSG
i core specification,
but it also offers a number of other
OSG
i services through its bundle repository.
It supports both the old-school Oscar Bundle Repository format, at
http://
http://www.knopflerfish.org/repo/bindex.xml
. The Knopflerfish repository is
considerably smaller than the SpringSource
EBR
, but it still contains a number of
useful dependencies.
THE SONATYPE OSS REPOSITORY
Although Sonatype Nexus is best known for hosting Maven repositories, it can also
generate and host
OBR
data for its Maven repositories. The Nexus public repositories
therefore can be used for
OSG
i provisioning.
THE ECLIPSE MARKETPLACE
If you're using p2 instead of
OBR
, a number of repositories, also known as
update sites
,
are available. An Eclipse update site uses
XML
metadata to describe one or more
OSG
i
bundles, typically deployed as a set that make up an Eclipse plug-in. Eclipse update sites
don't model the bundles they describe in the same way that we've described in this chap-
ter, but are commonly used, particularly in conjunction with the p2 provisioner. The
Eclipse Marketplace is an example of one of the many available Eclipse update sites.
What happens if the bundle you need isn't available in one of the public reposito-
ries? If you want to provision against bundles you've written yourself, this is almost cer-
tainly the case. Even widely distributed bundles may not be available in a public
OBR
repository. The good news is that generating repositories is so easy, you may already be
doing it.
7.4.2
Building your own repository
A number of tools are available that can generate repositories from Maven reposito-
ries or the filesystem. They can even be integrated into your build process.
BINDEX
The most popular tool for generating
OBR
XML
repositories is called
Bindex
. Bindex
models the dependencies that are declared in the bundle manifest, and recent ver-
sions are able to use Blueprint and Declarative Services metadata to create require-
ments and capabilities for services.