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/06/05 18:03] – gaetan | dev-guide:plugins [2024/07/08 12:23] (current) – [GroIMP Plugin] timOb | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | GroIMP is designed around plugins, which can easily | + | GroIMP is designed around plugins which can be added, modified |
- | ====== Plugin | + | ====== |
- | The plugin | + | Any repository with a '' |
- | The repositories can be provided in three formats: | + | To be properly loadable though, the '' |
- | | + | <code xml> |
- | - Ordered List ItemAs a local directory. The directory is automatically scanned to find any Groimp | + | <?xml version=" |
- | - Ordered List ItemAs a list of repositories (.list). The .list file is a simple list of any of the three repository formats. | + | <plugin |
+ | version=" | ||
+ | xmlns=" | ||
+ | </ | ||
+ | where '' | ||
- | ====== JSON format for plugin data ====== | + | See more: |
- | The metadata used by the plugin | + | * [[: |
+ | * [[: | ||
+ | * [[: | ||
+ | * [[: | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
- | id : The unique id of the plugin. | + | ====== Managing plugins ====== |
- | 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 of: | + | GroIMP plugins are located in to directories by default: |
+ | - ''/ | ||
+ | - '' | ||
- | its version : The version number | + | Additionally it is possible to add a directory with the argument '' |
- | a downloadUrl : The url to download the plugin | + | |
- | depends : A list of other GroIMP plugin required to run the plugin. The plugins are designed by their id and a version number | + | |
- | 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. | + | When GroIMP starts it will automatically load every plugin |
- | Here is an example of a plugin.json file: | + | **Note:** It is possible to // |
- | < | + | |
- | [ | + | |
- | { | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | "1.2.3" : { | + | |
- | " | + | |
- | " | + | |
- | " | + | |
- | }, | + | |
- | " | + | |
- | " | + | |
- | } | + | |
- | } | + | |
- | } | + | |
- | } | + | |
- | ] | + | |
- | </ | + | |
- | ===== Plugin version conditions ===== | + | |
- | ==== Equal condition | + | ===== Manually |
- | The plugin usually depends on other groimp plugins. | + | It is possible to manually add or remove |
- | That dependency is defined | + | |
- | < | + | The added plugin needs to be compiled and follow the plugin structure. See [[:dev-guide: |
- | " | + | |
- | " | + | **Note:** if you do not have the permission right to delete a repository from the GroIMP installation folder, you can prevent the plugin from being loaded by adding it to the // |
- | } | + | |
- | </code> | + | ===== Plugin Manager |
- | ==== Higher than condition | + | |
+ | The plugins can easily be updated, installed, or removed from the GUI with the | ||
+ | [[user-guide: | ||
- | By default the plugin manager uses the " | + | The plugin manager uses the [[: |
dev-guide/plugins.1717603380.txt.gz · Last modified: 2024/06/05 18:03 by gaetan