Uploaded image for project: 'Product Roadmaps'
  1. Product Roadmaps
  2. MMF-1847

Show latest scanner versions in the documentation

    XMLWordPrintable

    Details

      Description

      WHY

      Currently, the documentation of SonarQube shows the latest version of the scanners, at the time of SonarQube's release. A few weeks/months after a release, this information may be outdated and new SonarQube users don't have an easy way to know if a new scanner is available, what changes this new version brings, and where to download it.

      WHAT

      Online documentation

      As a SonarQube user, I expect to see on the online documentation, regardless of the SQ version I use, what the latest version of the Scanner is, that I can use to analyze my projects.

      I expect to get the latest version available, so that I benefit from the last fixes and the most recent improvements.
      For this, I expect to see:

      • the last version number
      • a link where to download it

      If I'm using an older version of the scanner, I expect to see on the online documentation that there's a new version available, so that I can download it if I'm interested.
      For this, I'd like to get:

      • a short description of the new version
      • a link to the Release Notes where I can get more details

      Embedded documentation

      When SonarQube has access to the outside of the company where it's used, it make sense to display the same information to the users in the embedded documentation.

      When it's not the case, SonarQube could show a simple and static description, for example with links to the marketplaces or all downloadable releases.

      HOW

      Similarly to what was done for the analyzers with SONAR-12137, we want the scanner releases to be dynamically computed, which will allow us to display a release history, and show direct links for downloading the different scanners. Just as for the analyzers, we'll fetch this information from the Update Center. For this, we'll now introduce a description file for each scanner that we will update each time we'll do a release.

      Marketplace

      • We will introduce a new top-level key in the main update-center-source.properties file: scanners=..., which will list all scanners, just as we do with the plugins=... key.
      • We will introduce *.properties files for each scanner. They will follow a similar pattern as the plugins, with some minor differences:
        • We won't have a sqVersions property.
        • We will introduce a new pattern for the downloadUrl property. We will still support the current format, but for scanners that have multiple download URLs, we will allow properties to be keyed, with new label and url sub-keys.
      • We will update the JSON generator, which will also have to generate JSON files for each scanner, just as we do now for plugins.

      We will need to make sure that scanner info is not added to the global meta-data file, which is used by SQ to download and install plugins.

      An example for the sonar-scanner-cli:

      category=Scanners
      description=Default CLI scanner
      license=GNU LGPL 3
      homepageUrl=https://docs.sonarqube.org/latest/analysis/scan/sonarscanner/
      issueTrackerUrl=https://jira.sonarsource.com/projects/SQSCANNER
      sourcesUrl=https://github.com/Sonarsource/sonar-scanner-cli
      archivedVersions=
      publicVersions=4.2
      flavors=linux,win,macosx,docker,any
      flavors.win.label=Windows 64bit
      flavors.linux.label=Linux 64bit
      flavors.macosx.label=Macosx
      flavors.any.label=Any
      flavors.docker.label=Docker
      
      4.2.description=Support SONAR_HOST_URL to configure the server URL
      4.2.date=2019-10-01
      4.2.changelogUrl=https://jira.sonarsource.com/secure/ReleaseNote.jspa?projectId=11230&version=15234
      4.2.downloadUrl=...
      4.2.downloadUrl.linux=https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-4.2.0.1873-linux.zip
      4.2.downloadUrl.macos=https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-4.2.0.1873-macosx.zip
      4.2.downloadUrl.win=https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-4.2.0.1873-windows.zip
      4.2.downloadUrl.any=https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-4.2.0.1873.zip
      

      Static documentation 

      • We will introduce a new syntax for referencing scanner info from the Marketplace, just as we do for analyzers (reminder: analyzers use a special HTML comment: <!-- update_center:PLUGIN_KEY -->).
      • This will fetch the release information, and display the latest version, and all previous versions in a collapsed block.

      Embedded documentation

      • If access to the internet is available, we will display the same information as for the static documentation. If not, we will display an info-box, with links to all downloadable releases.
        As a nice to have, we could directly link to the latest version thanks to an alias which would be maintained in the download web site.

       

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              christophe.levis Christophe Levis
              Reporter:
              christophe.levis Christophe Levis
              Votes:
              1 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: