gradle quality plugin
Quality gradle plugin for ekino projects
Overview
This plugin configures:
- Check style (via checkstyle)
- Code coverage (via Jacoco)
- Continuous code quality (via SonarQube)
Requirements
Gradle 6.0 and JDK 8 are required.
Checkstyle configuration
This plugin checks that import had 3 groups in the below order:
- com
- java
- javax
and after that a latest group with static import
Be careful to configure your IDE code style with the same configuration to avoir errors.
You can override checkstyle version using a dedicated configuration.
Note: The default checkstyle.xml is compatible with 8.24 or later
checkstyle {
toolVersion = "8.29"
configFile = file("${project.rootDir}/config/checkstyle.xml")
}
Sonar Configuration
These values can be set in project properties:
- SONARQUBE_URL: Sonarqube server URL. Ex :
http://localhost:9000
- SONARQUBE_TOKEN: login or authentication token of a SonarQube user with Execute Analysis permission on the project
- sonarCoverageExclusions: source files to exclude from code coverage (java extension, wildcard allowed, comma separator). Ex :
**/*Properties.java, **/*Constants.java
- sonarExclusions: source files to exclude from analysis (java extension, wildcard allowed, comma separator). Ex :
**/*Properties.java, **/*Constants.java
Or you can set it in manuel mode on your CI pipeline (because you don't want that each developer publish to sonar)
Usage
Add the plugin in your Gradle build script:
Groovy
plugins {
id "com.ekino.oss.gradle.plugin.quality" version "0.0.2"
}
Kotlin
plugins {
id("com.ekino.oss.gradle.plugin.quality") version "0.0.2"
}
For contributors
Build
This will create the JAR and run the tests
./gradlew build
Test on a local project
Add to your local project in the settings.gradle as described in Gradle doc includeBuild '[path/to/the/gradle/plugin]'
Publish
This will upload the plugin to Nexus repository
./gradlew build publish