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
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