danger-kotlin-detekt

Plugin for danger-kotlin processing outputs of detekt tool

License

License

Categories

Categories

Kotlin Languages
GroupId

GroupId

io.github.ackeecz
ArtifactId

ArtifactId

danger-kotlin-detekt
Last Version

Last Version

0.1.4
Release Date

Release Date

Type

Type

pom.sha512
Description

Description

danger-kotlin-detekt
Plugin for danger-kotlin processing outputs of detekt tool
Project URL

Project URL

https://github.com/AckeeCZ/danger-kotlin-detekt

Download danger-kotlin-detekt

Dependencies

compile (3)

Group / Artifact Type Version
org.jetbrains.kotlin : kotlin-stdlib-jdk8 jar 1.4.30
systems.danger : danger-kotlin-sdk jar 1.2
com.fasterxml.jackson.dataformat : jackson-dataformat-xml jar 2.12.2

Project Modules

There are no modules declared in this project.

Maven Central

danger-kotlin detekt plugin

Plugin for danger-kotlin processing outputs of detekt tool

Installation

Put

@file:DependsOn("io.github.ackeecz:danger-kotlin-detekt:x.y.z")

to the top of your Dangerfile

Usage

First you need to register the plugin via

register plugin DetektPlugin

and then you can use it through it's single public method

DetektPlugin.parseAndReport(detektReportFile)

parseAndReport method accepts varargs of files pointing to the detekt reports.

Example Dangerfile

@file:DependsOn("io.github.ackeecz:danger-kotlin-detekt:x.y.z")

import io.github.ackeecz.danger.detekt.DetektPlugin

import systems.danger.kotlin.danger
import systems.danger.kotlin.register

import java.nio.file.Files
import java.nio.file.Paths
import java.util.function.BiPredicate
import java.util.stream.Collectors

register plugin DetektPlugin

danger(args) {
    val detektReports = Files.find(Paths.get(""), 10, BiPredicate { path, attributes ->
        val fileName = path.toFile().name
        fileName.endsWith("detekt.xml")
    }).map { it.toFile() }.collect(Collectors.toList())

    DetektPlugin.parseAndReport(*detektReports.toTypedArray())
}

This will find all files in the depth of 10 relative to current directory that ends with detekt.xml and it will pass them to the plugin.

Customization

Currently, there is no customization of reports. It sends inline commit to the git server directly. When some customization is needed it will be added.

io.github.ackeecz

Ackee

Software development enthusiasts from the ❤️ of Europe.

Versions

Version
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0