-
Notifications
You must be signed in to change notification settings - Fork 0
creating plugins
Tadeas Palusga edited this page Feb 19, 2015
·
8 revisions
TODO..
Plugin is a simple zip file with '*.plugin' extension with the following structure:
sample-plugin.plugin (1)
| sample-plugin-1.2.3.jar (2)
| plugin-descriptor.json (3)
└─── lib (4)
└─── com
└─── example
└─── sampledependency
├─── sampledependency-1
| └─── 1.2.3
| | sampledependency-1-1.2.3.jar (5)
|
└─── sampledependency-2
└─── 1.2.3
| sampledependency-2-1.2.3.jar
(1) plugin file itself ... (2) plugin artifact named as artifactId-version.jar ... (3) plugin descriptor file with structure described below in this document ... (4) all dependencies are placed in lib directory ... (5) one of the dependencies
{
"name" : "Sample plugin",
"description" : "This is just description of sample plugin",
"groupId" : "com.example.sampleplugin",
"artifactId" : "sample-plugin",
"version" : "1.2.3",
"activator" : "com.example.sampleplugin.PluginActivator",
"dependencies" : [
{
"groupId" : "com.example.sampledependency",
"artifactId" : "sampledependency-1",
"version" : "1.2.3",
"scope" : "REQUIRED"
},
{
"groupId" : "com.example.sampledependency",
"artifactId" : "sampledependency-2",
"version" : "1.2.3",
"scope" : "OPTIONAL"
}
],
/* Plugin dependencies are not supported yet !!! */
/**/ "pluginDependencies" : [
/**/ {
/**/ "groupId" : "com.example.sampleplugin",
/**/ "artifactId" : "sample-plugin-2",
/**/ "version" : "1.2.3",
/**/ "scope" : "REQUIRED"
/**/ },
/**/ {
/**/ "groupId" : "com.example.sampleplugin",
/**/ "artifactId" : "sample-plugin-3",
/**/ "version" : "1.2.3",
/**/ "scope" : "OPTIONAL"
/**/ }
/**/ ]
/**/
}
Although plugin can be created by hand, there is much easier way using provided Maven plugin.
TODO footer
- Navigation
- Home
- Usage
- Creating plugins
- Maven plugin
- Internals
- For developers
- FAQ