This is an old revision of the document!
Structure
The GroIMP software can be extended by plugins. This page describes how to write a plugin named MyPlugin.
Firstly, a plugin has to have a special directory layout. The layout depends on how you run GroIMP. There are currently two layout:
- As compiled plugin.
- As compiled classes.
In the compiled version of GroIMP (the one deployed and installed with the executable files) the plugins are loaded as:
- MyPlugin
- MyPlugin.jar
- plugin.properties
- plugin.xml
- doc/
- dependencies.jar …
In the development version of GroIMP (usually what you get from the source code, and using the –project-tree argument) the plugins are loaded as:
- MyPlugin
- target
- classes
- plugin.properties
- plugin.xml
- <compiled class files>
- <additional files copied from the src-directory>
- lib
- <needed jar-files>
Important: Note that the files plugin.xml, and plugin.properties are required.
By default GroIMP load plugins from its root/plugins directory. During development, usually the –project-tree argument is used, making GroIMP load plugin from the same directory as the needed GroIMP plugins and projects (e.g., Graph, XL-Core, IMP-3D, …). It is also possible to set an additional directory where GroIMP look for plugins in the GroIMP preferences. Or by passing the command line argument -p when starting groimp.
