Kotlin/kotlinx-kover

Add Kover task to execute action after coverage evaluation

shanshin opened this issue · 0 comments

What is your use-case and why do you need this feature?
In some cases, it is necessary to perform additional actions after measuring the coverage: for example, perform conditional verification, write values to the log, write the coverage values to the file in any form.

Kover cannot provide for all use cases.
However, we can provide a factory with which users can create tasks that perform coverage processing

Describe the solution you'd like

kover {
    reports {
        total {
            evaluations.create("myLog") {
               // use build caching
                isCacheable = false

                // action to execute
                action {
                    logger.info("Total coverage: ${lines.coveredPercentage}%")
                }

                // a way to get a task to specify future dependencies
                taskProvider
            }
        }
    }
}

and later executed via koverMyLogAction

Use cases: #545 and #419