Skip to content

Instantly share code, notes, and snippets.

@zerotacg
Last active December 13, 2022 23:02
Show Gist options
  • Save zerotacg/a131d73bf3f85c5e0309762ac8bbdf06 to your computer and use it in GitHub Desktop.
Save zerotacg/a131d73bf3f85c5e0309762ac8bbdf06 to your computer and use it in GitHub Desktop.
print coverage stats for usage in gitlab coverage
import groovy.xml.XmlParser
import java.text.DecimalFormat
tasks.register('koverStats') {
dependsOn ':koverXmlReport'
def percentageFormat = new DecimalFormat("#.##%")
ext.srcFile = new File(buildDir, 'reports/kover/xml/report.xml')
inputs.file srcFile
doLast {
println "Coverage Stats."
def report = new XmlParser().parse(srcFile)
report.counter.each { counter ->
def type = counter.@type
def missed = Integer.parseInt(counter.@missed)
def covered = Integer.parseInt(counter.@covered)
def total = missed + covered
def percentage = covered / total
println "Type: $type missed: $missed covered: $covered percentage: ${percentageFormat.format(percentage)}"
}
}
}
@kirkaDev
Copy link

I tried to convert this to the Groovy, but had a fail. Maybe, will more simple to convert my .gradle file to gradle.kts. Thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment