This plugin reads checkstyle / lint reports and posts issues and violations as inline comments in pull requests.
Screenshot of an issue posted as inline comment in a GitHub pull request:
The plugin does not execute any linter.
Instead, the plugin will search the file tree for lint reports according to the specified file mask and parse them.
The plugin requires a configuration object with a file mask to search for XML reports.
If you encounter a format that is missing, feel free to add a pull request or open an issue with a sample report attached.
- Checkstyle 4.3
- Checkstyle 8.0
- Android Lint (Format 5)
Install:
yarn add danger-plugin-lint-report --dev
At a glance:
// dangerfile.js
import { schedule } from 'danger'
const reporter = require("danger-plugin-lint-report")
schedule(reporter.scan({
fileMask: "**/reports/lint-results.xml",
reportSeverity: true,
requireLineModification: true,
}))
Configuration:
interface CheckstyleConfig {
/**
* File mask used to find XML checkstyle reports.
*/
fileMask: string
/**
* If set to true, the severity will be used to switch between the different message formats (message, warn, fail).
*/
reportSeverity: boolean
/**
* If set to true, only issues will be reported that are contained in the current changeset (line comparison).
* If set to false, all issues that are in modified files will be reported.
*/
requireLineModification: boolean
/**
* Optional: Sets a prefix foreach violation message.
* This can be useful if there are multiple reports being parsed to make them distinguishable.
*/
outputPrefix?: string
/**
* Optional: Override the violation formatter to customize the output message.
*/
violationFormatter?: ViolationFormatter
/**
* Optional: If set to true, it will remove duplicate violations.
*/
removeDuplicates?: boolean
}
See the GitHub release history.
See CONTRIBUTING.md.