Java Reference
In-Depth Information
add-ons for
OSG
i, and there are additional Ant tasks and Maven plugins specifically
designed for developers targeting Eclipse or Spring. Whatever your workflow, you
should be able to find something that works for you.
Let's take a quick look at the alternatives currently available, starting with Eclipse
PDE
.
A.3.1
Eclipse PDE
ins, but it can also be used to build plain
OSG
i bundles. Unlike bnd, which generates a
manifest based on a small recipe of instructions, Eclipse
PDE
provides dialog boxes
and wizards for working directly with the manifest. What you see is what will appear in
the bundle. Although this often leads to simpler manifests, it also means you have
more responsibility for keeping the manifest up to date.
PDE
helps by integrating
closely with the Java development tools, but you do need to invest significant effort to
do headless builds.
A.3.2
Apache Felix Sigil
Sigil (
http://felix.apache.org/site/apache-felix-sigil.html
) is a tool that applies the
OSG
i modularity concepts to the build environment. It extends build-time resolution
technologies such as Maven and Ivy to resolve project dependencies primarily using
the same
Import-Package
semantics encouraged by
OSG
i best practices. This leads to
a greater degree of decoupling and has been shown in real-world scenarios to reduce
extraneous dependencies by up to a factor of 10 compared to module-level dependen-
cies. The Sigil project structure encourages delegation to avoid duplicated configura-
tion and supports a flexible repository management framework. Sigil integrates with
Eclipse and Ant/Ivy.
A.3.3
Eclipse bndtools
Bndtools (
http://njbartlett.name/bndtools.html
)
is an alternative to Eclipse
PDE
based on the bnd tool. It provides dialog boxes and wizards for managing bnd instruc-
tions in Eclipse as well as menu options to run, test, and debug
OSG
i applications.
Developers already used to bnd should have no problem picking up bndtools; others
will find its forms, syntax highlighting, and auto-completion a useful introduction to
building bundles from recipes.
A.3.4
IDEA Osmorc
whether to use an existing manifest for your bundle or have the
IDE
generate it. Osmorc
can generate a manifest based on either a simple form or a set of bnd instructions. You
can also use it to run and debug
OSG
i applications on all the major frameworks.