Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- apply plugin: 'jacoco'
- jacoco {
- toolVersion = '0.8.2'
- }
- tasks.withType(Test) {
- jacoco.includeNoLocationClasses = true
- }
- task jacocoTestReport(type: JacocoReport, dependsOn: ['testDevDebugUnitTest', 'createDevDebugCoverageReport']) {
- group "Reporting"
- description "Generate Jacoco coverage reports."
- def javaClasses = []
- def kotlinClasses = []
- def javaSrc = []
- def kotlinSrc = []
- def execution = []
- def fileFilter = ['**/R.class', '**/R$*.class', '**/BuildConfig.*', '**/Manifest*.*', '**/*Test*.*', 'android/**/*.*']
- rootProject.subprojects.each { proj ->
- javaClasses << fileTree(dir: "$proj.buildDir/intermediates/javac/devDebug", excludes: fileFilter)
- kotlinClasses << fileTree(dir: "$proj.buildDir/tmp/kotlin-classes/devDebug", excludes: fileFilter)
- javaSrc << "$proj.projectDir/src/main/java"
- kotlinSrc << "$proj.projectDir/src/main/kotlin"
- execution << fileTree(dir: proj.buildDir,
- includes: ['jacoco/testDevDebugUnitTest.exec',
- 'outputs/code-coverage/connected/**/*.ec'])
- }
- sourceDirectories = files([javaSrc, kotlinSrc])
- classDirectories = files([javaClasses, kotlinClasses])
- print execution
- executionData = files(execution)
- reports {
- xml.enabled true
- xml.destination file("${rootProject.buildDir}/reports/jacoco/jacocoTestCoverageReport.xml")
- html.enabled true
- html.destination file("${rootProject.buildDir}/reports/jacoco/html")
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement