Install requirements
Install Java
Java needs to be installed on the machine on which analysis will be carried out. To make sure Java is installed on your machine, you can open a command prompt and type
java –version
If Java is installed you will be prompted with the installed Java version, like this:
If Java is not installed on your machine, you can download it from https://java.com/nl/download/ and follow instructions from there.
Install Sonarqube
SonarQube can be downloaded from http://www.sonarqube.org/downloads/
Select the version mentioned in Blueriq Model Analyzer Platform Support, and store it on your machine. Unzip the downloaded zip-file to the destination folder of your choice. The contents of the unzipped folder should look like this:
Install Maven
Apache Maven can be downloaded from https://maven.apache.org/download.cgi
Select the download of your choice, and store it on your machine. Then, unzip the downloaded zip-file to the destination folder of your choice. The contents of the unzipped folder should look like this:
Add maven to path
to be able to run sonarqube analysis you need to add maven to your path. This is done by opening a command prompt window in administrator mode and typing the following command:
setx path "%path%;<maven installation location>\bin"
Install Blueriq Model Analyzer for Sonarqube
The Blueriq Model Analyzer plugin called bma-sonar-plugin.jar needs to be placed inside the SonarQube directory in the subdirectory called extensions/plugin, for instance /sonarqube-5.6.6/extensions/plugins
Only place the bma-sonar-plugin.jar in this directory otherwise SonarQube won't start.
Configure Maven POM file
Finally, Maven and SonarQube need to be configured with the correct properties to be able to read your Blueriq Model of interest. Maven takes care of this by reading a pom.xml file.
You will have to create the pom.xml yourself, and then configure it for your own Blueriq installation, repository, branch and project(s).
Below, you can find
- An example of a pom.xml
- The location where to save the pom.xml
- An explanation of the properties in the pom.xml
An example configuration in this pom file looks like this:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>SingleModule</groupId> <artifactId>singlemodule-test</artifactId> <version>0.0.1-SNAPSHOT</version> <name>SingleModuleTest</name> <properties> <sonar.blueriq.managementservice>http://my-studio-server/Studio/Server/Services/ManagementService</sonar.blueriq.managementservice> <sonar.blueriq.repository>RubikTest</sonar.blueriq.repository> <sonar.blueriq.branch>Trunk</sonar.blueriq.branch> <sonar.blueriq.projects>Kinderbijslag,TestProject</sonar.blueriq.projects> <sonar.blueriq.username>admin</sonar.blueriq.username> <sonar.blueriq.password>welcome</sonar.blueriq.password> <sonar.blueriq.authentication>BASIC</sonar.blueriq.authentication> <sonar.blueriq.skipanalysis>false</sonar.blueriq.skipanalysis> <sonar.blueriq.workingDir>target/bq</sonar.blueriq.workingDir> </properties> </project>
The correctly configured pom file needs to be placed inside the directory in which Maven’s root directory is installed, for instance:
The properties in the pom file:
Property | Required | Default | Description |
---|---|---|---|
sonar.blueriq.managementservice | Required for managementservice | Url to the management service, if this property is set then all other managementservice properties must also be set. If this is not set, then the branchexportlocation must be set. | |
sonar.blueriq.repository | Required for managementservice | Name of the repository. | |
sonar.blueriq.branch | Required for managementservice | Name of the branch. | |
sonar.blueriq.username | Required for managementservice | Studio username credential. | |
sonar.blueriq.password | Required for managementservice | Studio password credential. | |
sonar.blueriq.domain | Optional | Studio authentication domain, only applicable if the authentication property is set to NTLM_CUSTOM. | |
sonar.blueriq.authentication | Required for managementservice | Studio authentication mode, currently BASIC and NTLM_CUSTOM are supported | |
sonar.blueriq.branchexportlocation | Required for export file | Location of a branch export zip from the studio, if this is set then the managementservice property must not be set. | |
sonar.blueriq.projects | Required | A comma separated list of blueriq project names. | |
sonar.blueriq.workingDir | Required | Relative path inside the executing directory where the BMA plugin creates files to index issues and measures. | |
sonar.blueriq.skipanalysis | Optional | false | Set to true if the BMA plugin shouldn't be triggered for the current project. This is useful when scanning projects without Blueriq, or when no connection can be made to the management service. |
The following properties are default SonarQube properties. More information can be found here.
Property | Required | Default | Description |
---|---|---|---|
sonar.host.url | Optional | localhost:9000 | Url and port to the sonarQube host. |
sonar.projectKey | Optional when using Maven | The key for the SonarQube project. In case of Maven the default is based on the Maven project name. | |
sonar.projectName | Optional when using Maven | The name of the SonarQube project. In case of Maven the default is based on the Maven project name. | |
sonar.branch | Optional | Use when importing the results of a feature branch to SonarQube. |
The installation is now completed. You should be able to analyse your Blueriq Models now.