name.remal.sonarlint
Plugin class: name.remal.gradle_plugins.plugins.code_quality.sonar.SonarLintPlugin
plugins {
id 'name.remal.sonarlint' version '1.5.0'
}
plugins {
id("name.remal.sonarlint") version "1.5.0"
}
This plugin executes SonarLint inspections without connecting to a SonarQube server. SonarLint's core JARs and plugins' JARs are downloaded via sonarlintCore
and sonarlintPlugins
configurations accordingly.
By default, the plugin uses these Sonar plugins:
java
(ifjava
Gradle plugin is applied)kotlin
(ifkotlin
orkotlin2js
Gradle plugins are applied)html
javascript
xml
If java
Gradle plugin is applied, sonarlint*
task is created for each SourceSet
.
The plugin creates sonarlint
extension of type SonarLintExtension
(it extends CodeQualityExtension
) that allows to configure sonarlint*
tasks globally.
Usage:
sonarlint {
ignoreFailures = false
excludes {
message 'java:S1214'
message 'kotlin:S100'
message 'xml:S125'
}
includes {
message 'java:S4266' // Enable java:S4266 which is disabled by default
}
ruleParameter('java:S119', 'format', '^[A-Z][a-zA-Z0-9]*$') // Allow upper camel-case for type parameter names
}
import name.remal.gradle_plugins.plugins.code_quality.sonar.SonarLintExtension
configure<SonarLintExtension> {
isIgnoreFailures = false
excludes {
message("java:S1214")
message("kotlin:S100")
message("xml:S125")
}
includes {
message("java:S4266") // Enable java:S4266 which is disabled by default
}
ruleParameter("java:S119", "format", "^[A-Z][a-zA-Z0-9]*\$") // Allow upper camel-case for type parameter names
}
name.remal.gradle_plugins.plugins.code_quality.sonar.SonarLintExtension
¶
Property | Type | Description |
---|---|---|
excludes |
ExcludesExtension |
Global excludes. |
includes |
ExcludesExtension |
Global includes. |
sonarProperties |
MutableMap<String, String?> |
Extra Sonar properties. |
ruleParameters |
MutableMap<String, MutableMap<String, String?>> |
Sonar rule properties. |
Method | Description |
---|---|
void sonarProperty(Object? name, Object? value) |
Adds new Sonar property. |
void sonarProperties(Map<Object?, Object?> map) |
Copy Sonar properties from the map. |
void ruleParameter(Object ruleId, Object? name, Object? value) |
Adds new Sonar rule property. |
void ruleParameters(Object ruleId, Map<Object?, Object?> map) |
Copy Sonar rule properties from the map. |
name.remal.gradle_plugins.plugins.code_quality.ExcludesExtension
¶
Property | Type | Description |
---|---|---|
sources |
MutableSet<String> |
ANT like exclude/include patterns of source files. |
messages |
MutableSet<String> |
Excluded/included violation messages. |
Method | Description |
---|---|
void source(String value) |
Add ANT like exclude/include pattern of source files. |
void sources(String... values) |
Add ANT like exclude/include patterns of source files. |
void sources(Iterable<String> values) |
Add ANT like exclude/include patterns of source files. |
void message(String value) |
Add violation message to excludes/includes. |
void messages(String... values) |
Add violation messages to excludes/includes. |
void messages(Iterable<String> values) |
Add violation messages to excludes/includes. |