Skip to content

Instantly share code, notes, and snippets.

@codeversed
Created February 17, 2018 02:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save codeversed/4bda375f03b0ddce614d971c7c91361e to your computer and use it in GitHub Desktop.
Save codeversed/4bda375f03b0ddce614d971c7c91361e to your computer and use it in GitHub Desktop.
Jacoco Full Coverage Report
apply plugin: 'com.android.application'
apply plugin: 'jacoco'
android {
defaultConfig {
...
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
buildTypes {
debug {
testCoverageEnabled !project.hasProperty('android.injected.invoked.from.ide')
}
}
sourceSets {
androidTest.java.srcDirs += "src/androidTest/java"
test.java.srcDirs += "src/test/java"
}
}
jacoco {
toolVersion = "0.8.0+"
}
task fullCoverageReport(type: JacocoReport) {
dependsOn 'createDebugCoverageReport'
dependsOn 'testDebugUnitTest'
reports {
xml.enabled = true
html.enabled = true
csv.enabled = true
}
def fileFilter = ['**/R.class', '**/R$*.class', '**/BuildConfig.*', '**/Manifest*.*',
'**/*Test*.*', 'android/**/*.*', '**/*_MembersInjector.class',
'**/Dagger*Component.class', '**/Dagger*Component$Builder.class',
'**/*_*Factory.class', '**/*ComponentImpl.class',
'**/*SubComponentBuilder.class']
def debugTree = fileTree(dir: "${buildDir}/intermediates/classes/debug", excludes: fileFilter)
def mainSrc = "${project.projectDir}/src/main/java"
sourceDirectories = files([mainSrc])
classDirectories = files([debugTree])
executionData = fileTree(dir: "$buildDir", includes: [
"jacoco/testDebugUnitTest.exec",
"outputs/code-coverage/connected/*coverage.ec"
])
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment