Skip to main content

Configuration Format

To ensure user-developed plugin packages can be imported into Rokae applications, follow the standard package and configuration format strictly, and keep the configuration file name identical to the plugin name.


Plugin Package

The package may contain both client and controller plugins. Archive names must be client.zip (client plugin) and controller.zip (controller plugin).

/**Plugin package layout**/
example.zip
├── client.zip
└── controller.zip
tip

Client plugins and controller plugins can each be loaded independently without the other!


Data Package

client.zip
├── plugin1
| ├──plugin1.lic
| ├──plugin1.dll
| ├──xplugin.dll
| └──plugin1.json
└── plugin2
| ├──plugin2.lic
| ├──plugin2.so
| ├──xplugin.so
| └──plugin2.json
|
// Other client plugin packages

controller.zip
├── plugin1
| ├──plugin1.lic
| ├──plugin1.so
| └──plugin1.json
└── plugin2
| ├──plugin2.lic
| ├──plugin2.so
| └──plugin2.json
|
// Other controller plugin packages


Configuration File

When developing client plugins, follow the standard configuration file format (<plugin name>.json) and keep the plugin name consistent with the name field.

{
"client_plugin":{
"name":"plugindemo", // Plugin name; must match file names; required
"depend":["plugin1","plugin2"], // Dependent client plugins; optional
"ctrlDepend":[], // Dependent controller plugins; optional
"enable":false, // Enabled after load; default false; required
"version":"3.0.1", // Plugin version; required
"min_hmi_version":"3.0.1", // Minimum HMI (xCore) version; optional
"custom_hmi_version":[], // Custom compatible versions; optional
"author":"rokae", // Author; optional
"description":"description" // Description; optional
}
}
tip

Remove comments when copying the configuration file! JSON does not support // comments.


Example

Example bundle for plugin name plugindemo. plugindemo.zip is the package imported into HMI.

  plugindemo.zip                      // Archive
├── client.zip // Archive
| ├── plugindemo // Folder
| ├── plugindemo.lic
| ├── plugindemo.dll
| ├── xplugin.dll
| └── plugindemo.json
└── controller.zip // Archive
├── plugindemo // Folder
├── plugindemo.lic
├── plugindemo.so
└── plugindemo.json