dev-guide:plugins
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
dev-guide:plugins [2024/05/27 16:02] – created timob | dev-guide:plugins [2024/07/08 12:23] (current) – [GroIMP Plugin] timOb | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Plugin repositories ====== | + | GroIMP is designed around plugins which can be added, modified or removed without modifying the GroIMP installation. |
- | The plugin manger uses Plugin repositories to gather knowledge on the available plugins. | ||
- | The repositories can be provided in three formats: | ||
- | - Ordered List ItemAs a JSON file. Which contains the metadata of one or several plugins.The file need to follow the JSON format for plugin data (see bellow). | + | ====== GroIMP Plugin ====== |
- | - Ordered List ItemAs a local directory. The directory is automatically scanned to find any Groimp plugin. They are found from their plugin.xml file. The plugin data is then extracted from that file. | + | |
- | - Ordered List ItemAs a list of repositories (.list). The .list file is a simple list of any of the three repository formats. | + | |
+ | Any repository with a '' | ||
+ | To be properly loadable though, the '' | ||
- | ====== JSON format for plugin | + | <code xml> |
+ | <?xml version=" | ||
+ | <plugin id="your.plugin.id" | ||
+ | version=" | ||
+ | xmlns=" | ||
+ | </ | ||
- | The metadata used by the plugin | + | where '' |
- | id : The unique id of the plugin. | + | See more: |
- | name : The name of the plugin. Defined in plugin.properties | + | |
- | versions : A list of version. | + | |
- | description (optional) | + | |
- | helpUrl (optional) | + | |
- | vendor (optional) | + | |
- | mainClass (optional) | + | |
- | A version is composed | + | * [[: |
+ | * [[: | ||
+ | * [[: | ||
+ | * [[: | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
- | its version : The version number | + | ====== Managing |
- | a downloadUrl : The url to download the plugin .jar. It can be a local path. | + | |
- | depends : A list of other GroIMP plugin required to run the plugin. The plugins | + | |
- | libs : A list of external libraries required by the plugin. The list must contains the name of the jar used by groimp and an url (or local path) to fetch that jar. | + | GroIMP plugins are located in to directories by default: |
+ | - ''/ | ||
+ | - '' | ||
- | Here is an example of a plugin.json file: | + | Additionally it is possible to add a directory with the argument '' |
- | < | + | |
- | [ | + | |
- | { | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | "1.2.3" : { | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | }, | + | |
- | " | + | |
- | " | + | |
- | } | + | |
- | } | + | |
- | } | + | |
- | } | + | |
- | ] | + | |
- | </ | + | |
- | ===== Plugin version conditions ===== | + | |
+ | When GroIMP starts it will automatically load every plugin in the given paths. | ||
- | ==== Equal condition ==== | + | **Note:** It is possible to //ignore// a plugin path by adding it to the // |
- | The plugin usually depends on other groimp plugins. It can however depends on a specific version of a plugin. | ||
- | That dependency is defined by the = before the version number: | ||
- | < | ||
- | " | ||
- | " | ||
- | } | ||
- | </ | ||
- | ==== Higher than condition ==== | ||
- | By default | + | ===== Manually ==== |
+ | |||
+ | It is possible to manually add or remove a plugin by simply copying/ | ||
+ | |||
+ | The added plugin | ||
+ | |||
+ | **Note:** if you do not have the permission right to delete | ||
+ | |||
+ | ===== Plugin Manager ===== | ||
+ | |||
+ | The plugins can easily be updated, installed, or removed from the GUI with the | ||
+ | [[user-guide: | ||
+ | |||
+ | The plugin manager uses the [[: |
dev-guide/plugins.1716818549.txt.gz · Last modified: 2024/05/27 16:02 by timob