Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

IGB bundles are OSGi compatible, so they must have an Activator, a class that extends org.osgi.framework.BundleActivator,
and they must have a manifest.mf file that is found in the META-INF directory. These are compiled and jarred with all required
classes, jars, and resources. The resulting jar is the bundle. This can then be uploaded to the bundle repository. At that point,
any one can use the bundle with IGB. IGB uses the Apache Felix OSGi implementation, but this could change, so no Felix specific
code should be used. In the Activator class, there is a start() and stop() method that are called when the bundle is
activated / deactivated (not installed / uninstalled). This is where you want to put all the code to start and stop the bundle.
In the manifest.mf file, there are several headers that need to be specified - fill in parenthesis below: IGB bundles are OSGi compatible, so they must have an Activator, a class that extends org.osgi.framework.BundleActivator,

and they must have a manifest.mf file that is found in the META-INF directory. These are compiled and jarred with all required

classes, jars, and resources. The resulting jar is the bundle. This can then be uploaded to the bundle repository. At that point,

any one can use the bundle with IGB. IGB uses the Apache Felix OSGi implementation, but this could change, so no Felix specific

code should be used. In the Activator class, there is a start() and stop() method that are called when the bundle is

activated / deactivated (not installed / uninstalled). This is where you want to put all the code to start and stop the bundle.

In the manifest.mf file, there are several headers that need to be specified - fill in parenthesis below:

Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: (name of bundle)
Bundle-SymbolicName: (name of bundle)
Bundle-Version: (bundle version, you can use 1.0.0 to start)
Bundle-Activator: (activator class name, including package)
Bundle-ActivationPolicy: lazy
Bundle-Vendor: Affymetrix
Bundle-Vendor: (your company)
Bundle-DocURL: (URL of bundle documentation)
Import-Package: (list all external packages required by the bundle)
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ClassPath: (put the class path within the bundle itself, e.g.: ., resources/, lib/xyz.jar)
Bundle-Description: (description of bundle)
Require-Bundle: (list all bundles required by this bundle)

...