blob: 25ac31189321c07184ca453fc0a99cb0c2ed3009 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
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: "jacocoUnitTestDebugReport", type: JacocoReport, dependsOn: "testDebugUnitTest") {
group = "Reporting"
description = "Generate Jacoco coverage reports for unit tests"
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/testDebugUnitTest.exec")
reports {
xml.enabled = true
html.enabled = true
}
}
coveralls.jacocoReportPath = "${project.buildDir}/reports/jacoco/jacocoUnitTestDebugReport/jacocoUnitTestDebugReport.xml"
|