diff options
Diffstat (limited to 'config/jacoco.gradle')
-rw-r--r-- | config/jacoco.gradle | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/config/jacoco.gradle b/config/jacoco.gradle new file mode 100644 index 0000000..c603349 --- /dev/null +++ b/config/jacoco.gradle @@ -0,0 +1,41 @@ +apply plugin: 'jacoco' + +// By default, Android Gradle plugin uses JaCoCo version 0.7.1, which works great in JUnit on the JVM. +// But that will fail on Android Lollipop/ART runtime, which requires 0.7.3 or higher. +if (rootProject.hasProperty('jacocoVersion')) { + android.jacoco.version = rootProject.property('jacocoVersion') + jacoco.toolVersion = rootProject.property('jacocoVersion') +} else { + println "Using the default JaCoCo version of: ${jacoco.toolVersion}" +} + +// The built-in jacoco plugin automatically applies itself to all Test tasks +tasks.withType(Test).whenTaskAdded { + it.jacoco.append = false + it.jacoco.classDumpFile = file("${project.buildDir}/jacoco/dump") +} + +// These tasks are for generating the coverage report after JUnit+robolectric tests have executed +tasks.create(name: "jacocoTestDebugReport", type: JacocoReport, dependsOn: "testDebug") { + group = "Reporting" + description = "Generate Jacoco coverage reports" + + classDirectories = fileTree( + dir: "${project.buildDir}/intermediates/classes/debug/", + excludes: ['**/R.class', + '**/R$*.class', + '**/*$ViewInjector*.*', + '**/BuildConfig.*', + '**/Manifest*.*'] + ) + + sourceDirectories = files("src/main/java", "src/debug/java") + executionData = files("${project.buildDir}/jacoco/testDebug.exec") + + reports { + xml.enabled = true + html.enabled = true + } +} + +coveralls.jacocoReportPath = "${project.buildDir}/reports/jacoco/jacocoTestDebugReport/jacocoTestDebugReport.xml"
\ No newline at end of file |