Mono-language / Multi-language Analysis Mode
sonar.language property is set, the behavior remains exactly the same as for versions prior to 4.2: the multi-language analysis mode is not activated.
Note that the
sonar.language property doesn't have a default value anymore (was previously set to
java by default). It means that your Java projects may not explicitly set this property to
java. Therefore, to keep analyzing in the mono-language mode, make sure to explicitly set this property to
- Do not set the
- Set the
sonar.sourcesproperty to the parent directory containing all your source code.
- Run an analysis
Converting a Mono-language Project to a Multi-language Project
The first step is to choose which one of these two mono-language projects you will convert to a multi-language project. You will lose the history (timeline, false positives, action plans, etc.) on the one that won't get converted to a multi-language project. In this example, we'll choose to convert the Java project to a multi-language project as most of our code (and therefore history) is Java.
The second step is to run another analysis of this Java project the old way (make sure to explicitly set the
sonar.language property to
java). This step is mandatory to keep the history on the project.
The third and last step is to remove the
sonar.language property and set the
Language Plugins Compatible with Multi-language
Every language plugin needs to be updated to be compatible with the multi-language mode. For now, the compatible plugins are:
- Flex 2.0.1
- Groovy 1.0
- Java 2.1 RC1 included in SonarQube 4.2 RC1: http://dist.sonar.codehaus.org/sonarqube-4.2-RC1.zip
SonarQube Java 2.1
When using an external authentication mechanism like LDAP, the
sonar.security.localUsers property must be set in $SONARQUBE_HOME/conf/sonar.properties to the list of all the technical accounts (comma-separated list). These accounts will not be authenticated against LDAP but against the SonarQube engine. On the opposite, all the accounts that are not flagged as local will only be authenticated against LDAP. By default
admin is a technical account.