We will setup a bnd(tools) workspace for OSGi enRoute so we can build an application in the next section.
Before you start this section, make sure you’ve checked the prerequisites for OSGi enRoute on your platform.
OSGi enRoute requires that you group a number of projects in a bnd workspace. A bnd workspace is basically a directory with a
cnf directory. We start with a template workspace by getting it from git.
This is the BETA tutorial for OSGi enRoute 2.0.0. To use the right workspace template,
go to Bndtools preferences and select
Workspace Templates. You should edit the
OSGi enRoute template and select the
This tutorial requires Bndtools 3.3.0 or later, the workspace templates were added in 3.2.0
We generally advise you to place things in your home directory (~). However, Eclipse does not recognize the tile (
~) as a reference to your home directory so different paths are shown in the pictures.
First get some confusing stuff out of the way. We will have two (2) workspaces:
.metadatadirectory. In OSGi enRoute tutorials we never place any projects in this directory. This directory will never be stored in Git or another SCM, it should therefore only contain your local preferences and information. To make it easy to switch between Eclipse workspaces, it is suggested to place all Eclipse workspaces in one easy to access directory. For example
cnfdirectory and all project directories must reside in exactly the same parent directory, which is the workspace directory. Sorry, no exceptions. The bnd workspaces could be grouped in a directory for Git. Eclipse recommends
The structure is depicted in the following illustration:
If you start Eclipse you will have to open the Eclipse workspace, see the previous issues. At the start of Eclipse (or when you do
File/Switch Workspace) you will see the following dialog:
After filling in the proper path and then closing the dialog by clicking
OK, we get an Eclipse restart. After Eclipse is done, we should finally get:
To create a new bnd Workspace we use the
New/Other/Bndtools/Bnd OSGi Workspace menu:
Bnd OSGi Workspace and click
Next. This will bring you to a dialog that allows you to specify the location of the bnd workspace. Here we must select the
Create in radio button because it is bad practice to use the same directory for the bnd workspace as the Eclipse workspace as explained before.
Next will bring us to the window that selects the template that we will use. In this case we will obviously choose the OSGi enRoute template.
After you selected the template and clicked
Next then Bndtools will show you proposed new content of the workspace in a list. If you would update an existing workspace you could control any conflicts.
In our case we just click
Finish and we’re done! Our Eclipse should look like:
Since we made changes to your file system, a short summary of where we placed what.
The Eclipse workspace was placed in a special place for Eclipse workspaces, the
~/eclipse directory. We named this workspace
com.acme.prime, which is a good name. The bnd workspace was placed also in your home directory, in the
~/git directory, also under the name
com.acme.prime; using the same name for both the Eclipse and bnd workspaces is a good practice.
In the next section of this quick start tutorial we will create a sample application.