Sometimes it is necessary to add a new bundle to odysseus, e.g. for new functionality that is not covered yet or does not fit into other bundles.

Path

To allow automatic building of Odysseus products, we created the following directory structure.

Remark: Under common and server are directories called core: No dependencies to other bundles outside are allowed. The core bundles are the base bundles and are not allowed to get new dependencies (there may be  exceptions, but typically this is true. Especially, there should be no dependencies to other Odysseus bundles, because it would lead to cyclic dependencies)

A new Bundle

A new bundle should be placed somewhere under the paths described aboved. If a totally new kind of functionality is added, create a new sub dir, else add to an existing one.

In Eclipse call: File/New/Plug-in Project

If the bundle should contain a logical operator or a transformation rule, the bundle must start with de.uniol.inf.is.odysseus

Do not use the default location!

Use as target platform: OSGi framwork: standard

Feature

This new bundle will not be part of Odysseus until it is added to a feature. First look, if this bundle can be added to an existing feature. In this case open the feature in Eclipse and add the bundle. Here e.g. the key value feature:

 

 

and add the plug-in under Plug-ins

 

If its a new feature, create a new feature project in Odysseus: