Uploaded image for project: 'SonarQube'
  1. SonarQube
  2. SONAR-2227

Manage dependency of a plugin on an group (parent plugin)

    XMLWordPrintable

    Details

    • Type: New Feature
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 3.5
    • Component/s: Marketplace
    • Labels:
      None

      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 : ...
      • Available Plugins
        • For a group of plugins having an outgoing dependency :
          • Installing this plugin will also install : ...
      • Plugin updates
        • For a group of plugins having an outgoing or incoming dependency :
          • Updating this plugin will also update : ...

      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'

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              julien.lancelot Julien Lancelot
              Reporter:
              freddy.mallet Freddy Mallet (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: