public class SonarQubeExtension
extends java.lang.Object
The extension is added to all projects that have the "sonar-gradle" plugin applied, and all of their subprojects.
Example usage:
sonarqube {
skipProject = false // this is the default
properties {
property "sonar.host.url", "http://my.sonar.server" // adding a single property
properties mapOfProperties // adding multiple properties at once
properties["sonar.sources"] += sourceSets.other.java.srcDirs // manipulating an existing property }
}
}
The SonarQube configuration is provided by using the properties(org.gradle.api.Action) method and specifying properties.
Certain properties are required, such as "sonar.host.url" which provides the address of the SonarQube server.
For details on what properties are available, see Analysis Parameters
in the SonarQube documentation.
The "sonar-gradle" plugin adds default values for several plugins depending on the nature of the project.
Please see the SonarQube Gradle documentation
for details on which properties are set and their values.
Please see the SonarQubeProperties class for more information on the mechanics of setting SonarQube properties,
including laziness and property types.
| Modifier and Type | Field and Description |
|---|---|
static java.lang.String |
SONARQUBE_EXTENSION_NAME |
static java.lang.String |
SONARQUBE_TASK_NAME |
| Constructor and Description |
|---|
SonarQubeExtension(ActionBroadcast<SonarQubeProperties> propertiesActions) |
| Modifier and Type | Method and Description |
|---|---|
java.lang.String |
getAndroidVariant() |
boolean |
isSkipProject()
Defaults to
false. |
void |
properties(org.gradle.api.Action<? super SonarQubeProperties> action)
Adds an action that configures SonarQube properties for the associated Gradle project.
|
void |
setAndroidVariant(java.lang.String androidVariant) |
void |
setSkipProject(boolean skipProject) |
public static final java.lang.String SONARQUBE_EXTENSION_NAME
public static final java.lang.String SONARQUBE_TASK_NAME
public SonarQubeExtension(ActionBroadcast<SonarQubeProperties> propertiesActions)
public void properties(org.gradle.api.Action<? super SonarQubeProperties> action)
Global SonarQube properties (e.g. server connection settings) have to be set on the "root" project of the SonarQube run.
This is the project that has the sonar-gradle plugin applied.
The action is passed an instance of SonarQubeProperties.
Evaluation of the action is deferred until sonarqube.properties is requested.
Hence it is safe to reference other Gradle model properties from inside the action.
SonarQube properties can also be set via system properties (and therefore from the command line).
This is mainly useful for global SonarQube properties like database credentials.
Every system property starting with "sonar." is automatically set on the "root" project of the SonarQube run
(i.e. the project that has the sonar-gradle plugin applied).
System properties take precedence over properties declared in build scripts.
action - an action that configures SonarQube properties for the associated Gradle projectpublic boolean isSkipProject()
false.public void setSkipProject(boolean skipProject)
public java.lang.String getAndroidVariant()
public void setAndroidVariant(java.lang.String androidVariant)