Details
-
Type:
New Feature
-
Status:
Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: 3.5
-
Component/s: Update Center
-
Labels:None
-
Number of attachments :
Description
Here are some examples of use cases that we want to cover :
- The Developer Cockpit plugin can't be used without the SCM ecosystem
- The VB.Net plugin can't be executed without the .Net ecosystem
- The SCM Stats plugin can't be used without the SCM ecosystem
- The Clover plugin can't be used without the Java ecosystem
To achieve this, the following new properties must be supported :
- By the Sonar packaging plugin :
- Plugin-RequiresPlugins: [parentPluginKey1]:[minimalParentPluginVersion1], [parentPluginKey2]:[minimalParentPluginVersion2], ...
The following updates are required in the "Update Center" pages :
- Installed Plugins
- For a group of plugins having an incoming dependency :
- Uninstalling this plugin will also uninstall : ...
- For a group of plugins having an outgoing dependency :
- Depends upon : ...
- For a group of plugins having an incoming dependency :
- Available Plugins
- For a group of plugins having an outgoing dependency :
- Installing this plugin will also install : ...
- For a group of plugins having an outgoing dependency :
- Plugin updates
- For a group of plugins having an outgoing or incoming dependency :
- Updating this plugin will also update : ...
- For a group of plugins having an outgoing or incoming dependency :
And when a Sonar server is started, we should fail with a meaningful error message in the following cases :
- A required plugin is missing : "The plugin 'xxx' required by 'yyy' is missing"
- A dependency cycle exists between plugins : "There is a depency cycle between plugins 'xxx', 'yyyy', ... that must be cut"
- A required plugin doesn't have the minimum required version : 'The plugin 'xxxx' is in version x.y.z whereas the plugin 'zzz' requires a least a version y.t'
Issue Links
- depends upon
-
SONAR-3976
Introduce the concept of plugin group (ex Java and .Net)
-
- is related to
-
SONAR-4199
New property sonar.requirePlugins to manage inter-plugin dependencies
-
-
SONAR-2254
Explicitly declare dependency, when one plugin depends on another
-