Skip to content

jmecosta/sonar-fsharp-plugin

Repository files navigation

SonarQube F# Code Analyzer Plugin

The plugin enables analysis of F# within SonarQube.

Builds

Build status Quality Gate Status Coverage

Download latest snapshot from Appveyor: https://ci.appveyor.com/project/jorgecosta/sonar-fsharp-plugin-wxq94/build/artifacts

NuGet package

FsSonarRunner is also available as NuGet package. NuGet Status

Description / Features

  • Metrics: LOC, number of classes, number of methods
  • Code duplication detection
  • Based on FSharpLint
  • Runs under .NET 5.0 on Windows and Linux

Configuration

Requirements

  • Minimal supported version of SonarQube: 7.9.5 LTS
  • Working on SonarQube 8.x
  • Analyzer uses .NET 5.0, the corresponding depencies of .NET needs to be installed (especially on Linux). .NET Core is not required to be installed, as the application is self-contained.
  • NuGet packages still available also as .NET Standard 2.0/2.1 library.
  • Operating system (64 bit only): Windows, Linux.

Installation

  • Download the JAR plugin file from releases and copy it to the extensions/downloads/ directory of your SonarQube installation.
    • Delete any previous plugin sonarqube-fsharp-plugin-*.jar or sonar-communityfsharp-plugin-*.jar from plugins directory.
  • Restart SonarQube server. The plugin will be moved to the directory extensions/plugins/ and the previous plugin version will be removed. The file logs/sonar.log will contain a log line indicating the loaded plugin or any errors. The installed F# plugin will also be shown on the Marketplace of your SonarQube installation.
  • Review the F# quality profile before running for any updated rule set.

General Configuration

  • sonar.fs.file.suffixes - files extensions to import

Coverage and Tests

Please use generic solutions like https://docs.sonarqube.org/latest/analysis/generic-test/ or https://github.com/jmecsoftware/sonarqube-testdata-plugin