Created
July 29, 2019 11:06
-
-
Save joaortk/e404b580861574bcbf81f0c681a80b03 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
apply plugin: 'jacoco' | |
jacoco { | |
toolVersion = "0.8.3-SNAPSHOT" | |
reportsDir = file("$buildDir/reports") | |
} | |
tasks.withType(Test) { | |
jacoco.includeNoLocationClasses = true | |
} | |
android.buildTypes.debug.testCoverageEnabled = true | |
//Variáveis necessárias | |
ext.instrumentedTestTaskName = ":app:createDebugAndroidTestCoverageReport" //<- change to your Instrumented Test task | |
ext.unitTestTaskName = ":app:testDebugUnitTest" //<- change to your Unit Test task | |
ext.libName = "app" | |
ext.flavorLib = "" // <- if you use flavors, set the flavor here | |
task "fullCoverage"(type: JacocoReport, dependsOn: [unitTestTaskName, instrumentedTestTaskName]) { | |
group = "Reporting" | |
description = "Generate Jacoco combined coverage reports for Instrumented and Unit Tests" | |
onlyIf = { true } | |
reports { | |
xml.enabled = true | |
html.enabled = true | |
} | |
def libFlavorDir = flavorLib == "" ? "debug" : "${flavorLib}Debug" | |
def fileFilter = [ | |
'**/R.class', | |
'**/R$*.class', | |
'**/*$ViewInjector*.*', | |
'**/*$ViewBinder*.*', | |
'**/BuildConfig.*', | |
'**/Manifest*.*', | |
'**/*App.*', | |
'**/*Component.*', | |
'**/*Module.*', | |
'**/*Test*.*', | |
'android/**/*.*', | |
'**/databinding/**/*.*', | |
'**/android/databinding/*Binding.*', | |
'**/BR.*', | |
'**/*Module.*', // Modules for Dagger. | |
'**/*Dagger*.*', // Dagger auto-generated code. | |
'**/*MembersInjector*.*', // Dagger auto-generated code. | |
'**/*_Provide*Factory*.*', | |
'**/*_Factory.*' //Dagger auto-generated code | |
] | |
def libDebugTree = fileTree(dir: "${rootDir}/$libName/build/tmp/kotlin-classes/$libFlavorDir", excludes: fileFilter) | |
def libMainSrc = "$rootDir/$libName/src/main/java" | |
sourceDirectories = files([libMainSrc]) | |
classDirectories = files([libDebugTree]) | |
executionData = fileTree(dir: "$rootDir", includes: [ | |
"$libName/build/jacoco/test${flavorLib.capitalize()}DebugUnitTest.exec", | |
"$libName/build/outputs/code-coverage/connected/*coverage.ec", | |
"$libName/build/outputs/code_coverage/debugAndroidTest/connected/*coverage.ec", | |
"$libName/build/spoon-output/debug/coverage/**/*.ec", | |
]) | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment