User Tools

Site Tools


01_user_documentation:11_plugin:01_structure

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:

  1. As compiled plugin.
  2. 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.

01_user_documentation/11_plugin/01_structure.1761963893.txt.gz · Last modified: 2025/11/01 03:24 by gaetan