Skip to content

damian-burke/danger-plugin-lint-report

Folders and files

NameName
Last commit message
Last commit date

Latest commit

author
github-actions
May 31, 2023
393baf9 · May 31, 2023

History

85 Commits
May 31, 2023
May 17, 2023
Jul 13, 2020
May 17, 2023
Jul 13, 2020
Aug 22, 2021
Jul 13, 2020
Aug 18, 2021
Aug 22, 2021
Jul 13, 2020
Jul 13, 2020
Jul 13, 2020
May 17, 2023
May 31, 2023
Aug 18, 2021
May 11, 2021
May 17, 2023

Repository files navigation

danger-plugin-lint-report

Build Status npm version semantic-release

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:

inline comment

Requirements

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.

Supported 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)

Usage

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
}

Changelog

See the GitHub release history.

Contributing

See CONTRIBUTING.md.