sonar

Invokes sonar-scanner to programmatically run SonarQube analysis

See http://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner for details.
It can process unit test results if formatted as junit report as shown in xctest action. It can also integrate coverage reports in Cobertura format, which can be transformed into by the slather action.

sonar
Supported platforms ios, android, mac
Author @c_gretzki
Returns The exit code of the sonar-scanner binary

2 Examples

sonar(
  project_key: "name.gretzki.awesomeApp",
  project_version: "1.0",
  project_name: "iOS - AwesomeApp",
  sources_path: File.expand_path("../AwesomeApp")
)
sonar(
  project_key: "name.gretzki.awesomeApp",
  project_version: "1.0",
  project_name: "iOS - AwesomeApp",
  sources_path: File.expand_path("../AwesomeApp"),
  sonar_organization: "myOrg",
  sonar_token: "123456abcdef",
  sonar_url: "https://sonarcloud.io"
)

Parameters

Key Description Default
project_configuration_path The path to your sonar project configuration file; defaults to sonar-project.properties
project_key The key sonar uses to identify the project, e.g. name.gretzki.awesomeApp. Must either be specified here or inside the sonar project configuration file
project_name The name of the project that gets displayed on the sonar report page. Must either be specified here or inside the sonar project configuration file
project_version The project's version that gets displayed on the sonar report page. Must either be specified here or inside the sonar project configuration file
sources_path Comma-separated paths to directories containing source files. Must either be specified here or inside the sonar project configuration file
exclusions Comma-separated paths to directories to be excluded from the analysis
project_language Language key, e.g. objc
source_encoding Used encoding of source files, e.g., UTF-8
sonar_runner_args Pass additional arguments to sonar-scanner. Be sure to provide the arguments with a leading -D e.g. FL_SONAR_RUNNER_ARGS="-Dsonar.verbose=true"
sonar_login DEPRECATED! Login and password were deprecated in favor of login token. See https://community.sonarsource.com/t/deprecating-sonar-login-and-sonar-password-in-favor-of-sonar-token/95829 for more details - Pass the Sonar Login Token (e.g: xxxxxxprivate_token_XXXXbXX7e)
sonar_token Pass the Sonar Token (e.g: xxxxxxprivate_token_XXXXbXX7e)
sonar_url Pass the url of the Sonar server
sonar_organization Key of the organization on SonarCloud
branch_name Pass the branch name which is getting scanned
pull_request_branch The name of the branch that contains the changes to be merged
pull_request_base The long-lived branch into which the PR will be merged
pull_request_key Unique identifier of your PR. Must correspond to the key of the PR in GitHub or TFS

* = default value is dependent on the user's system


Documentation

To show the documentation in your terminal, run

fastlane action sonar

CLI

It is recommended to add the above action into your Fastfile, however sometimes you might want to run one-offs. To do so, you can run the following command from your terminal

fastlane run sonar

To pass parameters, make use of the : symbol, for example

fastlane run sonar parameter1:"value1" parameter2:"value2"

It's important to note that the CLI supports primitive types like integers, floats, booleans, and strings. Arrays can be passed as a comma delimited string (e.g. param:"1,2,3"). Hashes are not currently supported.

It is recommended to add all fastlane actions you use to your Fastfile.


Source code

This action, just like the rest of fastlane, is fully open source, view the source code on GitHub


Back to actions