User Tools

Site Tools


01_user_documentation:11_plugin:01_structure

Structure

Any repository with a plugin.xml and plugin.properties files is considered as a plugin by GroIMP. To be properly loadable though, the plugin.xml needs to include:

<?xml version="1.0" encoding="UTF-8"?> 
<plugin id="your.plugin.id" 
version="x.x" 
xmlns="http://grogra.de/registry" >

where plugin id and version need to be filled with the plugin information.

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.txt · Last modified: 2025/11/01 03:55 by gaetan