...
- Import-Package and Require-Bundle don't need to overlap, you can specify a requirement in one or the other. To have a multi line header, start the continuation line after a blank in column 1.
- Put a blank line at the end of the manifest.mf file - due to a bug in felix.
- The igb, genometry and genoviz projects can by accessed as bundles. If a class/method is needed from igb/genometry/genoviz, it must be public, and the package must be exported in the manifest.mf Export-Package list. Ann's note: manifest.mf of what?
- If you want to add a tab panel as a bundle, there is a helper abstract class, com.affymetrix.igb.window.service.WindowActivator, that you can extend.
- If you need access to other bundles (like IGBService), you will not be sure when the
bundle is available. (Ann's note: Please explain more) For Services, like IGBService and WindowService, you can use a ServiceTracker to be notified when the required service is available - see WindowActivator
for an example. - In the IGB source code repository, in the plugins/ directory, you will find several embedded bundles that IGB uses. Look through
these to help you understand bundles.
Sample plug-in
- to create a plugin, you will create (at least) two files, the MANIFEST.MF file and the Activator
- we will create a bundle that adds a new graph function
- create the following MANIFEST.MF file:
...