Skip to main content

Configuration Format

To ensure that user-customized plugin packages can be normally imported into ROKAE applications, users need to strictly follow the standard format to write plugin packages and configuration files, and ensure that the configuration file name is consistent with the plugin name.

Plugin Package

The plugin package can include both client and controller plugins. The corresponding compressed package names must be fixed as client.zip (client plugin) and controller.zip (controller plugin).

/**Plugin documentation directory**/
example.zip
├── client.zip
└── controller.zip
tips: Client plugins and controller plugins can be loaded independently without depending on each 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, users need to strictly follow the format of the standard configuration file (plugin name.json), and ensure that the plugin name is consistent with the name set in the configuration file.

{
"client_plugin":{
"name":"plugindemo", // Plugin name, consistent with the plugin file name, required
"depend":["plugin1","plugin2"], // Dependent client plugins, optional
"ctrlDepend":[], // Dependent controller plugins, optional
"enable":false, // Plugin enable status after loading, default not enabled after loading, required
"version":"3.0.1", // Plugin version number, required
"min_hmi_version":"3.0.1", // Minimum supported HMI version (xCore version number), optional
"custom_hmi_version":[], // Custom adapted versions, optional
"author":"rokae", // Author, optional
"description":"description" // Description, optional
}
}

Example

Taking the plugindemo plugin name as an example, the client plugin and controller plugin collection package is as follows. plugindemo.zip is the final imported plugin package.

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